Konfiguracja

Pomimo, iż projekt Coyote powinien działać bezproblemowo tuż po instalacji, niniejsza sekcja pozwoli użytkownikowi na głębsze zrozumienie jego działania. Umożliwi Ci także zmodyfikowanie jego dodatkowych parametrów, czy np. prawidłowe ustawienie pliku .htaccess.

Cron

Program Cron na systemach typu Unix służy do wykonywania stałych czynności o określonych porach. System Coyote jest także przystosowany do Crona, gdyż jego funkcje są bardzo przydatne w serwisie programistycznym (o charakterze vortalowym). Przede wszystkim można go wykorzystać do wysyłania newslettera (np. raz w tygodniu w nocy z niedzieli na poniedziałek). System Coyote umożliwia przesyłanie raportu na temat pliku umieszczonego na serwerze (ilość ściągnięć, ocena). Tu także sprawdza się Cron wysyłając taki raport raz w miesiącu. Inną funkcją jest przypominanie o rejestracji w serwisie. Cron umożliwia codzienne sprawdzanie użytkowników, którzy są zarejestrowani w serwisie ale zalogowali się ostatnio pół roku temu. W takim wypadku wysyła informację na e-mail. Te wszystkie funkcje wykorzystywane są w serwisie 4programmers.net, a to wszystko dzięki aplikacji Cron.

Wymagania

Czego zatem potrzebujesz? Przede wszystkim dostępu do shella oraz możliwości korzystania z programu Cron oraz wget. Jak to działa? Cron jest programem który "budzi się" co 1 min. i sprawdza, czy nie ma żadnych zadań do wykonania. Ty możesz określić jakie zadanie i kiedy ma być wykorzystywane. Jeżeli przykładowo ustaliłeś wykonywanie zadania wysyłania newslettera o 5.00 w nocy z niedzieli na poniedziałek, to program Cron sam wywoła np. skrypt cron.php umieszczony na serwerze, który wykona tę czynność. Ponieważ na wielu serwerach możliwość wykonywania skryptów PHP z poziomu linii komend jest zablokowane należy to zrobić z poziomu programu wget - np.

wget http://4programmers.net/cron.php/remind/haslo
      
Możliwość wywoływania skryptu z poziomu przeglądarki stwarza możliwości iż dowolna osoba będzie mogła uruchomić ten skrypt i - wysyłać np. raport o dowolnej porze. Dlatego zastosowano tu mechanizm zabezpieczający - tzn. składnia URL jest następująca:
http://serwer.com/cron.php/funkcja_do_wykonania/haslo_crona_ustalone_w_tabeli_coyote_config
      
Jak widzisz URL sprawia wrażenie jakby to było odwołanie do poszczególnych katalogów. Nic bardziej mylnego. Po prostu znaki / stanowią "rozdzielnik" pomiędzy poszczególnymi parametrami przekazywanymi do skryptu. Dlaczego tak? Ponieważ program wget zapewne lepiej sobie poradzi z takim URLem niżeli zawierającym znaki ? oraz ".

W każdym bądź razie program cron wykonuje o danej godzinie skrypt, który dokonuje pewnej czynności; jeżeli nie masz crona a chcesz korzystać z możliwości wysyłania np. powiadomienia będziesz niestety zmuszony do ręcznego wywoływania tego skryptu wpisując jego URL w przeglądarce.

Konfiguracja crona

Tak więc do skorzystania z możliwości crona musisz użyć shella - zaloguj się więc na swoje konto:

ssh user@host.com
      
Następnie wpisz:
crontab -e
      
W tym momencie powinien otworzyć się domyślny edytor tekstowy - w moim przypadku Nano. Tutaj należy wpisać odpowiednie instrukcje crona - np. w moim przypadku jest to:
10 5 * * * wget http://4programmers.net/cron.php/remind/123
10 3 * * 0 wget http://4programmers.net/cron.php/report/123
      
Format zapisu danych jest trochę specyficzny - np. wiersz oznacza iż każdego dnia o 5.10 nad ranem zostanie wykonany skrypt http://4programmers.net/include/cron/remind/123. Więcej informacji na temat konfiguracji crona znajdziesz tutaj.