poniedziałek, 20 grudnia 2010

sprawdzanie tranferu czyli tzw. bandwidth

Często zdarza się mi, że ktoś kwestionuje wskazania dotyczące wykorzystanego transferu i twierdzi, że to nie możliwe aby aż tyle wykorzystał.
Bardzo często mam ochotę uruchomić skrypt, który wykorzysta pozostały transfer z nawiązką w ciągu jednej nocy ... ale tego niestety nie robię :).
Więc jeżeli ktoś będzie kwestionował wykorzystany transfer można poradzić mu:
- zainstaluj iptraf, co prawda nie obrazuje on dokładnie sumarycznego ruchu ale można się rozeznać czy więcej pobieramy czy wysyłamy,
- kolejnym bardzo interesującym narzędziem jest bmon, wystarczy go zainstalować, uruchomić najechać na interfejs, który chcemy monitorować, wcisnąć b,g (i patrzeć jak transfer rośnie).

W wielu sytuacjach te narzędzia ułatwiają życie, zalecam zapoznanie się z nimi i korzystanie z nich jak najczęściej.

sobota, 4 grudnia 2010

Pozycjonowanie stron opartych o Drupal'a

W podstawowych modułach dostarczanych w raz z Drupal'em niestety nie ma narzędzi służących do skutecznego pozycjonowania strony (nie da się nigdzie wpisać meta tags, keywords, description itp.).

W celu dodania słów kluczowych, opisu strony, meta tagów niezbędne jest doinstalowanie następującego modułu:
- nodewords w wersji odpowiedniej dla wykorzystywanego przez nas Drupal'a.

Wskazany moduł można pobrać ze strony drupal.org.
Instalacja przebiega tak samo jak w poprzedni poście.

Po instalacji należy moduł odpowiednio skonfigurować, i rozpocząć edycję stron już utworzonych, oraz dodawać opisy podczas dodawania nowych stron.

Im trafniejsze będą opisy, słowa kluczowe, meta tagi, tym wyższą pozycję uzyskamy w wyszukiwarkach internetowych - co wymiernie wpłynie na ilość odwiedzin naszej strony.

drupal i przyjazne linki

Jestem w trakcie tworzenie strony internetowej w oparciu o popularny system CMS Drupal.

Jedną z podstawowych rzeczy, którą należy zrobić przed stworzeniem strony jest włączenie przyjaznych linków.
Przyjazne linki polegają na podmianie adresów np.: jakaś-strona.pl/?blogID=93985607 niezrozumiałych dla człowieka, na adresy zrozumiałe dla człowieka oraz robotów sieciowych np.: jakaś-strona.pl/o_mnie.

Zaletami przyjaznych linków jest to, że można łatwo się połapać gdzie znajdujemy się obecnie na stronie oraz jesteśmy lepiej indeksowani za pomocą robotów siecowych (każdy chce pojawiać się przecież na pierwszej stronie w wyszukiwarce Google).

W celu włączenia przyjaznych linków w drupalu, należy pobrać i zainstalować na serwerze następujące moduły:
- Pathauto
- Token
- Token actions
- TokenSTARTER

Wszystkie wskazane moduły można pobrać ze strony drupal.org.
Po pobraniu wgrywamy je na serwer albo za pomocą scp albo za pomocą ftp (lub sftp) do lokalizacji:
sites/all/modules
Jeżeli katalogu modules nie ma na serwerze to go tworzymy.
rozpakowujemy zawartość modułów do katalogu modules za pomocą polecenia tar -xvzf nazwa_archiwim.tar.gz.
Zmieniamy jeszcze uprawnienia na właściwe dla katalogów i plików.
Następnie logujemy się do panelu administracyjnego Drupal'a przechodzimy do Administer >> modules i włączamy wskazane powyżej moduły.

Istnieją dwie możliwości dodawania przyjaznych linków:
- przy tworzeniu nowej strony automatycznie,
- przez tworzeniu aliasów do stron istniejących.

Druga metoda wymaga szerszego opisania:
- najpierw wchodzimy na wybraną stronę i sprawdzamy jaki adres jest podawany w pasku adresów, kopiujemy ten adres,
- wchodzimy w Drupal'u na zakładkę Site building >> URL aliases,
- klikamy na add alias,
- wprowadzamy fragment wcześniej skopiowanego linku,
- w drugim polu wpisujemy pod jakim przyjaznym adresem ma się dana strona wyświetlać,
- klikamy na create new alias.

W ten sposób zostały włączone przyjazne linki w Drupal'u.
Spotkałem się też z taką sytuacją, że na domowym komputerze z apache 2.2 przyjazne linki działały bez problemu, natomiast na serwerze z zainstalowanym Apache 1.3 były to linki pseudo przyjazne (dalej wyświetlało się ?q=content/o_mnie).

piątek, 3 grudnia 2010

zautomatyzowane kopiowanie z wykorzystaniem xargs oraz cp w Linux'ie

Gdy chcemy skopiować pliki z jednego miejsca w drugie i mają one spełniać określone warunki można napisać pętle for, pytanie tylko czy jest sens bawić się z tym aż tak gdy można użyć poleceń ls, awk, xargs (mi się to przynajmniej łatwiejsze wydaje).

Mam tendencję do nie czyszczenia karty pamięci w aparacie więc gdy chce skopiować jakieś świeżo zrobione zdjęcia z aparatu w inną lokalizację wyświetla się naprawdę długa lista.
Zamiast zrobić ls -laht, grepować po dacie, i klikać albo wpisywać dla każdego pliku cp wolę wykonać następujące polecenie:
ls -lah | grep 2010-12-04 | awk '{print $8}' | xargs -i cp {} /home/pawel/Pulpit/mieszkanie/aranzacja/


Teraz po polsku:
ls -lah - wyświetlenie wszystkich plików z bieżącego katalogu wraz z atrybutami,
grep 2010-12-04 - wyświetlenie plików które zostały stworzone w dniu dzisiejszym,
awk '{print $8}' - wyświetla zawartość ósmej kolumny, czyli nazwę pliku,
| - przekazanie wyników jednego polecenia do następnego polecenia tzw. pipe (nie wiem jak to się nazywa po polsku - jeżeli ktoś wie to proszę o komentarz z informacją),
xargs -i cp {} /home/pawel/Pulpit/mieszkanie/aranzacja/ - przekazanie wyników do programu xargs, który dla każdej danej wejściowej wykonuje określoną czynność, w man'ie dla xargs przy opcji -i jest napisane "-i[replace-str] This option is a synonym for -Ireplace-str if replace-str is
specified, and for -I{} otherwise. This option is deprecated; use -I instead." więc wnioskuję, że przy jej włączeniu wykonuje cp i podaje wartości plików które ma kopiować jako to co zostało uzyskane z poprzedniego polecenia. Inaczej można to określić jako wstawienie wyniku polecenia poprzedniego do nawiasu {} i wykonanie dla każdego pliku polecenia zdefiniowanego zaraz po słowie xargs.
Chyba się trochę zapętliłem - ale w końcu kto normalny pisze o 2 w nocy posta na blogu w piątek :).
Na samym końcu polecenia dodajemy ścieżkę, do której pliki należy skopiować.

Wykorzystanie xargs do usuwania plików jest znacznie łatwiejsze, ponieważ nie trzeba korzystać z -i, np.:

ls -lah | grep 2010-12-04 | awk '{print $8}' | xargs -rf

r - usuwanie rekurencyjne (jeżeli chcemy usunąć same pliki to proponuję korzystać z samej opcji -f bo jak się nam coś omsknie to można "trochę" za dużo usunąć),
f - nie pytaj czy chce usunąć plik/katalog, po prostu go usuń (od ang. force).