Vallheru: Zaawansowany sposób konfiguracji resetów

Mateusz Nowak
05.09.2015

Dla tych którzy nie mają ochoty korzystać z Cron Jobsa tego na własnym serwerze lub tych udostępnianych za darmo, będących jednocześnie zaawansowanymi użytkownikami swojego serwera Linux'owego, opisują inny sposób konfiguracji resetów.


Na podstawie danych zdefiniowanych w tablicy zadań "crontab" w systemach rodziny Linux, proces "cron" uruchamia procesy w zdefiniowanym, ściśle określonym czasie.
Pamiętaj jednak że 'cron' uruchamia tylko "zewnętrzne" procesy jak np. skrypty powłoki Bash.

Przed zdefiniowaniem zadań do wykonania jest niezbędne poznanie ścieżki dostępu docelowego pliku. Przy założeniu że plik reset.php znajduje się w ścieżce /home/user/vallheru/ to ścieżka w komendzie będzie wyglądać tak:

/usr/bin/php /home/user/vallheru/reset.php

Możesz skrócić komendę jeśli na początku resets.php dopiszemy:

#!/usr/bin/php -q -c /etc/php5/apache2/php.ini

oraz damy temu plikowi prawa do wykonania. Wtedy powłoka systemowa uruchomi proces automatycznie po wpisaniu komendy:

/home/user/vallheru/reset.php

Więc do rzeczy. Aby zdefiniować zadanie należy wyedytować crontab. Służy do tego polecenie: crontab -e [nazwa_uzytkownika]
Uruchomi się nam wtedy systemowy edytor, gdzie dopiszemy linię (jeśli nie używaliśmy linii pliku php.ini):
0 0 * * * /usr/bin/php /home/user/vallheru/reset.php?step=reset
Która zdefiniuje duży reset co północ.
Druga linia:
0 1-12 * * * /usr/bin/php /home/user/vallheru/reset.php?step=revive
Dla małego resetu, wykonującego się co godzinę o zerowej minucie.

W przypadku skrócenia naszej komendy, polecenia będą wyglądać tak:
0 0 * * * /home/user/vallheru/reset.php?step=reset
0 1-12 * * * /home/user/vallheru/reset.php?step=revive

Jak pewnie zauważyłeś pierwsze parametry wpisów oznaczają czas wykonywania zadania.
Oznaczają one w kolejności: minuty, godziny, dni miesiąca, miesiąc oraz dzień tygodnia.
Można korzystać z gwiazdki, oznaczającej cały zakres, zakresu (np. 1-7), listy wartości (np. 1,4,7) lub ich łączenie (np. 1-3,6).

Przy wywoływaniu crontabu możesz też podać swój adres e-mail. Jeśli masz skonfigurowane dobrze SMTP, to serwer wyśle Ci przy każdym wykonaniu zaplanowanego zadania odpowiedni raport. Wszystkich szczegółów dowiesz się wpisując polecenie crontab -h

Po dokonaniu zmian zapisz crontab, a cron uwzględni Twoje zmiany przy najbliższej okazji.

Zgłoś swój pomysł na artykuł

Więcej w tym dziale Zobacz wszystkie