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!'

Related Posts: