Cron to linuxowy demon, który ładuje plik z zadaniami i wykonuje je o określonej w pliku porze. Prosty w użyciu i bardzo przydatny. Zobacz, jak go obsługiwać!
Plik z zadaniami edytujemy, wykonując polecenie crontab.
Każdy użytkownik w systemie ma swój własny plik z harmonogramem, który edytujemy wywołując polecenie crontab.
Polecenie crontab
- crontab -l – wyświetla zadania
- crontab -e – edytuje zadania
- crontab -r -usuwa wszystkie zadania
Zadanie cron’a – budowa
- Zadanie jest zbudowane z terminu, określającego kiedy ma się wykonać, oraz polecenia, które ma być wykonane.
- Termin jest określony przez 5 wartości oddzielonych spacjami:
- Każda wartość może być zastąpiona gwiazdką *
- Gwiazdka oznacza, że zadanie będzie wykonywane odpowiednio w każdej minucie/godzinie/każdego dnia/każdego miesiąca/niezależnie od dnia tygodnia.
- Można też podać zamiast jednej wartości zakres wartości, np. 30-45 (bez spacji)
- Albo całą listę wartości, np. 1,3,5,7,9 (bez spacji!)
- Albo zdecydować, co ile ma być zadanie wykonywane, np. */3 – co trzy minuty/godziny/dni/… . Uwaga – to nie na każdym systemie zadziała. Wtedy trzeba podać listę, jak w punkcie wyżej.
- Można też sposoby podawania wartości łączyć, np. 1,2,3,10-20 czyli np. w pierwszej, drugiej, trzeciej minucie i od dziesiątej minuty do dwudziestej.
- Po terminie jest spacja i polecenie do wykonania. Podajemy pełne ścieżki dostępu, bo zmienna PATH w cronie nie jest znana.
- Można zdefiniować więcej niż jedno zadanie w harmonogramie – każde zadanie musi znaleść się w osobnej linijce.
- Po ostatnim zadaniu wstawiamy linię pustą (ENTER).
- Po zapisaniu zmian, plik harmonogramu jest od razu ładowany i wykonywany.
Przykładowe zadania (crontab -e)
- uruchamiaj skrypt co minutę:
* * * * * /bin/echo 'Hello!'
- uruchamiaj skrypt codziennie o 8:30
30 8 * * * /bin/echo 'Hello!'
- uruchom skrypt w pierwszy dzień miesiąca Grudzień o godzinie 8:00 i 12:00
0 8,12 1 12 * /bin/echo 'Hello!'
ps. brak spacji po przecinku!
- uruchamiaj skrypt w każdy Czwartek i Piątek o 12:00:
0 12 * * 4,5 /bin/echo 'Hello!'
- uruchamiaj skrypt co dwa dni o 12:00:
0 12 */2 * * /bin/echo 'Hello!'
1 Trackback or Pingback for this entry
May 28th, 2012 on 07:22
[…] http://www.mateuszmidor.com/2011/05/obsluga-crona/ […]