Wstęp

Dzień dobry, dziś opowiem o planowanie powtarzalnych zadań w programie cron.

Co to jest CRON?

Cron (od Greckiego Chronos) jest programem, to cyklicznego uruchamiania programów o zadanym czasie. Program cron, jest najczęściej wspominanym programem, jeśli chodzi o skrypty, programy i same systemy Linuksowe i uniksowe. Wielu programistów i administratorów uruchamiają swoje programy cyklicznie, co przekłada się na przydatność poznania tego narzędzia.

Jak używać Crona

Aby ustawić jakieś zadanie w programie cron (cron job), musimy edytować plik crontab. Dla każdego użytkownika jest on oddzielny, a jego edycję, przy pomocy edytora zdefiniowanego w zmiennej EDITOR, wykonujemy poprzez wywołanie komendy crontab -e.

Natomiast jeśli chcemy tylko zobaczyć, jakie programy są zdefiniowane dla naszego użytkownika, wykonamy wtedy komendę crontab -l.

Do usunięcia wszystkich wpisów zadań dla użytkownika wykorzystamy crontab -d.

UWAGA! crontab -d usuwa wszystkie wpisy, bez pytania o potwierdzenie!!

Struktura wpisu cron

Przykładowy wpis może wyglądać tak:

15 09 * * * /home/mlewicki/app

Gdzie pola oznaczają odpowiednio:

Minuty Godziny Dzień Miesiąc Dzień tygodnia Polecenie
15 09 * * * /home/mlewicki/app

Co oznacza: Uruchom program /home/mlewicki/app codziennie o 9:15.

* oznacza każdy.

Przykładowe wpisy

Dla zaznajomienia się ze strukturą podam kilka przykładów.

Co niedzielę o północy czyść katalog /tmp

00 00 * * 0 rm -rf /tmp

Codziennie o północy czyść pliki z rozszerzeniem .log w katalogu /var/log/myapp

00 00 * * * rm -rf /var/log/myapp/*.log

Co 15 minut uruchamiaj test.py

Notacja dla nowszych dystrybucji

*/15 * * * * python /home/app/src/test.py

Notacja dla starszych dystrybucji

0,15,30,45 * * * * python /home/app/src/test.py

Epilog

Dziękuję Ci bardzo, za poświęcony czas na zerknięcie na ten wpis.

Chciałbym ci polecić stronę, która ułatwi ci ustawianie zadań w cronie.

Strona ta to crontab.guru na pewno przyda się przy pracy z cronem. :)

Dobrego dnia Ci życzę i miłej pracy lub nauki.