Cron to narzędzie do planowania zadań w systemie operacyjnym Linux. Umożliwia automatyczne uruchamianie skryptów lub poleceń w określonych godzinach, odstępach czasu lub zdarzeniach.
Aby korzystać z Crona, należy utworzyć plik crontab
, który zawiera listę zadań i przedziały czasowe, w których powinny być wykonywane. Każde zadanie w crontab jest ciągiem składającym się z pięciu pól oddzielonych spacjami:
* * * * * command_to_execute
- - - - -
| | | | |
| | | | +----- day of the week (0 - 6) (Sunday = 0 or 7)
| | | +------- month (1 - 12)
| | +--------- day of the month (1 - 31)
| +----------- hour (0 - 23)
+------------- minutes (0 - 59)
*
oznacza dowolną wartość, na przykład, jeśli pole minut zawiera *
, zadanie będzie uruchamiane co minutę. Jeśli chcesz ustawić konkretną wartość dla pola, na przykład codziennie o 3 rano, powinieneś napisać 0 3 * * * *
.
Aby utworzyć lub zmodyfikować plik crontab, należy użyć polecenia crontab -e. Każdy użytkownik może mieć swój własny plik crontab, a także plik systemowy /etc/crontab
, który zawiera zadania uruchamiane jako użytkownik root.
Istnieje polecenie cronjob
, które pozwala uruchamiać zadania wewnątrz kontenerów Docker. Działa ono podobnie do crontab
, ale zadania mogą być uruchamiane wewnątrz kontenera zamiast w systemie hosta.
Aby rozpocząć korzystanie z Cron w systemie Linux, wykonaj następujące kroki:
1) Otwórz terminal i wpisz polecenie crontab -e
. Spowoduje to otwarcie pliku crontab dla bieżącego użytkownika.
2. Dodaj zadanie do pliku crontab zgodnie z formatem pola opisanym powyżej. Na przykład, jeśli chcesz uruchamiać skrypt every_hour.
sh co godzinę, dodaj wiersz 0 * * * * * * /path/to/every_hour.sh
.
3. Zapisz zmiany i zamknij plik.
4. Sprawdź, czy zadanie zostało dodane do crontab za pomocą polecenia crontab -l
. Zostanie wyświetlona lista wszystkich zadań dodanych do crontab
.
5. Sprawdź, czy zadanie działa zgodnie z harmonogramem, używając polecenia tail -f /var/log/syslog
. Zobaczysz dane wyjściowe związane z wykonaniem zadania.
6. Jeśli chcesz usunąć zadanie z crontab
, użyj polecenia crontab -r
.
Należy pamiętać o kilku ważnych kwestiach:
crontab
można dodawać zarówno skrypty, jak i polecenia. Jeśli jednak chcesz wykonać skrypt, upewnij się, że ma on uprawnienia do wykonywania(chmod +x /path/to/script.sh
).sudo crontab -e
, aby otworzyć plik crontab
dla użytkownika root.Należy pamiętać, że czas określony w crontab
będzie zgodny z czasem na serwerze z uruchomionym Cronem. Jeśli korzystasz ze zdalnego serwera, upewnij się, że czas na serwerze jest poprawnie skonfigurowany.