Wyszukiwanie w witrynie

Jak tworzyć zadania Cron i zarządzać nimi w systemie Linux


Cron to jedno z najbardziej przydatnych narzędzi Linuksa i ulubione narzędzie programistów, ponieważ umożliwia uruchamianie zautomatyzowanych poleceń w określonych okresach, datach i odstępach czasu przy użyciu skryptów ogólnego przeznaczenia i specyficznych dla danego zadania. Biorąc pod uwagę ten opis, możesz sobie wyobrazić, jak administratorzy systemu używają go do automatyzacji zadań tworzenia kopii zapasowych, czyszczenia katalogów, powiadomień itp.

Zadania Cron działają w tle i stale sprawdzają plik /etc/crontab oraz pliki /etc/cron.*/ i /var/spool/cron/ katalogi. Plików cron nie należy edytować bezpośrednio, a każdy użytkownik ma unikalny crontab.

Jak w takim razie tworzyć i edytować zadania cron? Z poleceniami crontab. Crontab to metoda używana do tworzenia, edytowania, instalowania, odinstalowywania i wyświetlania zadań cron.

Polecenie tworzenia i edytowania zadań cron jest takie samo i proste. A jeszcze fajniejsze jest to, że nie musisz ponownie uruchamiać cron po utworzeniu nowych plików lub edycji istniejących.


crontab -e

Składnia Crona

Podobnie jak w przypadku każdego języka, praca z cron jest znacznie łatwiejsza, gdy rozumiesz jego składnię i istnieją 2 formaty, które powinieneś znać:


A B C D E USERNAME /path/to/command arg1 arg2
OR
A B C D E USERNAME /root/backup.sh

Wyjaśnienie powyższej składni cron:

  • A: Zakres minut: 0 – 59
  • B: Zakres godzin: 0 – 23
  • C: Zakres dni: 0 – 31
  • D: Miesiące zakres: 0 – 12
  • E: Dni tygodnia zakres: 0 – 7. Począwszy od poniedziałku, 0 lub 7 oznacza niedzielę
  • NAZWA UŻYTKOWNIKA: zastąp to swoją nazwą użytkownika
  • /ścieżka/do/polecenie – nazwa skryptu lub polecenia, które chcesz zaplanować

To nie wszystko. Cron używa 3 symboli operatorów, które pozwalają określić wiele wartości w polu:

  1. Gwiazdka (*): określa wszystkie możliwe wartości pola
  2. Przecinek (,): określa listę wartości
  3. Myślnik (-): określa zakres wartości
  4. Separator (/): określa wartość kroku

Teraz, gdy znasz składnię i operatory Crona, zobaczmy kilka przykładów Cron.

Przykłady zadań Cron

Pierwszym krokiem do uruchomienia poleceń cron jest zainstalowanie crontaba za pomocą polecenia:


crontab -e

Uruchamiaj plik /root/backup.sh o 3:00 codziennie:


0 3 * * * /root/backup.sh

Uruchom script.sh o 16:30 drugiego dnia każdego miesiąca:

30 16 2 * * /path/to/script.sh

Uruchom /scripts/phpscript.php o 22:00 w tygodniu:

0 22 * * 1-5 /scripts/phpscript.php

Uruchamiaj perlscript.pl o 23 minuty po północy, o 2:00 i 4:00 codziennie:

23 0-23/2 * * * /path/to/perlscript.pl

Uruchom polecenie Linux o 04:05 w każdą niedzielę:

5 4 * * sun /path/to/linuxcommand

Opcje Crona

Lista zadań cron.


crontab -l
OR
crontab -u username -l

Usuń wszystkie zadania crontab.

crontab -r

Usuń zadanie Cron dla określonego użytkownika.


crontab -r -u username

Struny w Crontabie

Ciągi znaków należą do ulubionych rzeczy programistów, ponieważ pomagają zaoszczędzić czas, eliminując powtarzalne pisanie. Cron ma określone ciągi, których możesz użyć do szybszego tworzenia poleceń:

  1. @hourly: Uruchamiaj raz na godzinę, tj. „0 * * * *
  2. @midnight: Uruchamiaj raz dziennie, np. „0 0 * * *
  3. @daily: tak samo jak o północy
  4. @weekly: uruchamiane raz w tygodniu, tj. „0 0 * * 0
  5. @monthly: uruchamiane raz na miesiąc, np. „0 0 1 * *
  6. @annually: uruchamiane raz w roku, np. „0 0 1 1 *
  7. @co roku: tak samo jak @co roku
  8. @reboot: Uruchom raz przy każdym uruchomieniu

Oto na przykład sposób codziennego tworzenia kopii zapasowej systemu:

@daily /path/to/backup/script.sh

W tym momencie masz wszystko, czego potrzebujesz, aby tworzyć zadania systemowe i zarządzać nimi za pomocą Cron. Możesz teraz rozpocząć konfigurowanie i konserwację kilku środowisk za pomocą zaplanowanych poleceń.

W jakim stopniu jesteś użytkownikiem Crona? Czy możesz dodać jakieś szczegóły do artykułu? Pole dyskusyjne znajduje się poniżej.

Kiedy już zrozumiesz, jak działa Crontab, możesz użyć tych sprytnych narzędzi generatora Crontab, aby bezpłatnie wygenerować linie crontab.

Możesz także przeczytać artykuł Ubuntu na temat korzystania z Crona tutaj. Zawiera zasoby, które mogą okazać się przydatne.