Strona główna > Hosting - zarządzanie serwerem > cron - konfiguracja cyklicznych zadań

cron - konfiguracja cyklicznych zadań

Zadanie cron to opóźnione w czasie uruchomienie danego programu.

Powyższy przykład oznacza, że o godzinie 18:53 zostanie uruchomiony program php z lokalizacji /usr/bin, którego parametrem wywołania będzie -f /owca/cron/mail.php.

Skrypty PHP mogą być wywoływane w dwóch trybach CLI oraz CGI. Skrypty CLI to inaczej programy wywoływane z linii poleceń. CGI to skrypty wywoływane w środowisku przeglądarki www. W większości przypadków zadziałają oba wywołania, ale czasami skrypt musi być wywołany w konkretnym trybie. W takiej sytuacji w sekcji nazwa programu należy podać jedną z poniższych ścieżek. To klient powinien wiedzieć w jakim trybie ma być wywoływany skrypt PHP. Jeżeli nie wie to powinien to ustalić u twórcy oprogramowania.

CLI

/usr/bin/php5.2
/usr/bin/php - 5.3
/usr/bin/php5 - 5.3

CGI

/usr/bin/php5-cgi - 5.3
/usr/bin/php5.2-cgi
/usr/bin/php5.3-cgi
/usr/bin/php5.4-cgi
/usr/bin/php5.5-cgi

Skrypty PHP wywoływane przez crona korzystają z domyślnego php.ini na serwerze. Aby wykorzystany został własny plik php.ini (np. z włączonym IonCubem) musi zostać on podany w argumentach. Służy do tego parametr -c:
-c /owca/cron/php.ini

Skrypty PHP mogą również wymagać przekazania pewnych zmiennych (np numer licencji). W adresie internetowym zmienne takie przekazywane są w następujący sposób: http://www.domena.pl/index.php?zm1=ala&zm2=ma&zm3=kota. W tym przykładzie do skryptu index.php zostały przekazane 3 zmienne: zm1 o wartości Alazm2 o wartości ma oraz zm3 o wartości kota. Aby przekazać zmienne do skryptu php wywołanego zadaniem cron należy je podać po dwóch myślnikach "--" oddzielając spacją

W powyższym przykładzie Skrypt /public_html/roth/cron_test.php został wywołany o godzinie 7:58 w trybie CGI przy użyciu PHP w wersji 5.2. Do skryptu zostały przekazane 3 zmienne: var1, var2 oraz var3 o wartościach odpowiednio: a, test, zmienna.

Zadania CRON mogą być wywoływane nie więcej niż 12 razy na godzinę - np co 5 minut. Ustawienie czasu wywołania jak na obrazku powyżej, można wybrać konkretne okresy lub wybrany interwał.

Można wywołać /usr/bin/curl z argumentem --silent http://www.twoja-strona.pl &>/dev/null W ten sposób skrypt zostanie wywołany w ten sam sposób jak z poziomu przeglądarki internetowej.

W zadaniu CRON można wykonywać inne przydatne operacje np. dump bazy mysql:

Program: /usr/bin/mysqldump
Atrybuty: -u<login> -p<hasło> -h<host> <baza> -r test.db1

Pomiędzy -u i loginem oraz -p i hasłem nie ma spacji

Błędy lub komunikaty zwrócone przez skrypt dotyczące danego zadania można znaleźć w folderze tmp na przestrzeni na której zostało dodane zadanie cron. Pliki mają nazwę taką jak wywoływany program i rozszerzenia err lub out.

Aby uruchamiać cronem skrypt napisany przez siebie (np skrypt powłoki sh, lub perl), należy pamiętać o nadaniu mu prawa do wykonywania (minimum 744).