Crontab w systemie Linux: PRZYKŁADY planowania zadań
Co to jest crontab?
Nazwa Cron pochodzi od greckiego słowa „Chronos”, które oznacza czas. Jest to proces systemowy, który automatycznie będzie wykonywał zadania według określonego harmonogramu. Jest to zestaw poleceń używanych do wykonywania regularnych zadań związanych z planowaniem. Crontab oznacza „stół cron”. Umożliwia wykorzystanie harmonogramu zadań, zwanego cron, do wykonywania zadań.
Crontab to także nazwa programu służącego do edycji tego harmonogramu. Jest sterowany przez plik crontab, plik konfiguracyjny wskazujący, że polecenia powłoki mają być uruchamiane okresowo według określonego harmonogramu.
Dlaczego warto używać Cronjobs?
Oto powody używania Cronjobs w systemie Linux:
- Pomaga systemowi operacyjnemu wykonać zaplanowaną kopię zapasową plików dziennika lub bazy danych.
- Usuń stare pliki dziennika
- Archive i wyczyść tabele bazy danych
- Wysyłaj powiadomienia e-mailem, takie jak biuletyny informacyjne, wiadomości e-mail o wygaśnięciu hasła
- Regularne czyszczenie danych w pamięci podręcznej
- Crontab to idealna opcja do automatyzacji zadań uniksowych.
- Służy do automatyzacji konserwacji systemu
Jak używać cron w systemie Linux?
System Linux pakiet zawiera przydatny harmonogram zadań o nazwie crontab. Crontab jest popularny, ponieważ można zaplanować uruchomienie automatycznego procesu jako root. Dlatego posiadanie zautomatyzowanego procesu działającego jako root ułatwia wprowadzanie zmian w systemie. Wystarczy zmienić zadanie i poczekać, aż zadanie zostanie ponownie zainicjowane.
Linuxowy format Crontab
Crontab systemu Linux ma sześć pól. Pierwsze pięć pól określa czas i datę wykonania, natomiast szóste pole służy do wykonania polecenia.
Składnia Crontaba:
[Minute] [hour] [Day_of_the_Month] [Month_of_the_Year] [Day_of_the_Week] [command]
- Astry (*): Użyj do dopasowania
- Zdefiniuj zakres: Umożliwia zdefiniowanie zakresu za pomocą łącznika, np. 1-10 lub 30-40 lub styczeń-marzec, pon-środa.
- Zdefiniuj wiele zakresów: Umożliwia zdefiniowanie różnych zakresów za pomocą poleceń rozdzielonych np. kwiecień-czerwiec, październik-grudzień.
Jak dodać/zmodyfikować Crontab
Użytkownik może edytować swoje zadania crontab za pomocą następującego polecenia crontab:
$ crontab -u -e
Powyższe polecenie otworzy osobistą konfigurację crontab twojego systemu komputerowego, którą można edytować za pomocą domyślnego edytora tekstu.
Nie ma potrzeby ponownego uruchamiania crontab-a, ponieważ zmiany zostaną wczytane automatycznie po użyciu poniższego polecenia.
$ crontab -l
Aby usunąć zadania crontab, użyj następującego polecenia.
$ crontab -r
Aby dodać lub zaktualizować zadanie w crontabie, użyj poniższego polecenia.
crontab -e
Polecenie edycji pliku crontab innego użytkownika
crontab -u username -e
Jak wyświetlić listę Crontab
Polecenie przeglądania wpisów crontab bieżącego użytkownika
crontab -l
Polecenie przeglądania wpisów crontab konkretnego użytkownika:
crontab -u username -l
Ważne przykłady Crontab
Oto kilka ważnych przykładów Crontaba
Opis | Command |
---|---|
Polecenie Cron do wykonywania różnych zadań planowania. Poniżej podane polecenie należy wykonać codziennie o godzinie 7:5 i XNUMX:XNUMX. |
0 7,17 * * * /scripts/script.sh |
Polecenie wykonania crona co 5 minut. |
*/5* * * * * /scripts/script.sh |
Polecenie harmonogramu Cron pomaga wykonać zadanie na każdym Monday o 5 rano. To polecenie jest przydatne do wykonywania cotygodniowych zadań, takich jak czyszczenie systemu. |
0 5 * * mon /scripts/script.sh |
Polecenie uruchom skrypt w odstępie 3 minut. |
*/3 * * * * /scripts/monitor.sh |
Polecenie umożliwiające zaplanowanie wykonania crona w określonym miesiącu. To polecenie do uruchamiania zadań jest uruchamiane w miesiącach lutym, czerwcu i wrześniu. Czasami musimy zaplanować zadanie, aby wykonać wybrane zadanie miesięczne. |
* * * feb,jun,sep * /script/script.sh |
Polecenie do wykonania w wybrane dni. Ten przykład uruchomi każdy Monday i w środę o 5:XNUMX. |
0 17 * * mon,wed /script/script.sh |
To polecenie umożliwia wykonanie cron w pierwszą sobotę każdego miesiąca. |
0 2 * * sat [ $(date +%d) -le 06 ] && /script/script.sh |
Polecenie uruchamiające skrypt co 6 godzin, dzięki czemu można go skonfigurować w sposób pokazany poniżej. |
0 */6 * * * /scripts/script.sh |
To polecenie umożliwia zaplanowanie dwukrotnego wykonania zadania Monday i wtorek. Użyj następujących ustawień, aby to zrobić. |
0 4,17 * * mon,tue /scripts/script.sh |
Polecenie zaplanuj wykonanie crona co 15 sekund. |
* * * * * /scripts/script.sh * * * * * sleep 15; /scripts/script.sh |
Polecenie planowania zadań w ujęciu rocznym. @roczny znacznik czasu wynosi = „0 0 5 1 *”. Wykonuje to zadanie w piątej minucie każdego roku. Można go używać do wysyłania życzeń noworocznych. |
@yearly /scripts/script.sh |
Zadania dowodzenia do wykonania co miesiąc. @miesięczny znacznik czasu jest podobny do „0 0 1 * *”. To wyrażenie polecenia pozwala na wykonanie zadania w pierwszej minucie miesiąca. |
@monthly /scripts/script.sh |
Polecenie wykonania wielu zadań przy użyciu jednego cron. |
* * * * * /scripts/script.sh; /scripts/scrit2.sh |
Polecenie planowania zadań do wykonania co tydzień. @tygodniowy znacznik czasu jest podobny do „0 0 4 * słońce”. Służy do wykonywania cotygodniowych zadań, takich jak czyszczenie systemu itp. |
@weekly /bin/script.sh |
Zadanie będzie realizowane codziennie. @dzienny znacznik czasu jest podobny do „0 2 * * *”. Wykonuje zadanie w drugiej minucie każdego dnia. |
@daily /scripts/script.sh |
Umożliwia wykonywanie zadań co godzinę. @godzinny znacznik czasu jest podobny do „0 * * * *”. To polecenie wykonuje zadanie w pierwszej minucie każdej godziny. |
@hourly /scripts/script.sh |
Umożliwia wykonywanie zadań po ponownym uruchomieniu systemu. Wyrażenie @reboot jest przydatne w przypadku zadań, które system chce uruchomić podczas uruchamiania systemu. Jest to przydatne do automatycznego rozpoczynania zadań w tle. |
@reboot /scripts/script.sh |
Podsumowując:
- Nazwa Cron pochodzi od greckiego słowa „Chronos”, które oznacza czas.
- Cronjobs pomagają systemowi operacyjnemu wykonać zaplanowaną kopię zapasową plików dziennika lub bazy danych.
- Pakiet systemowy Linux zawiera przydatny harmonogram zadań o nazwie crontab, który można zaplanować tak, aby uruchamiał zautomatyzowany proces jako użytkownik root.
- Crontab systemu Linux ma sześć pól. Pierwsze pięć pól określa czas i datę wykonania, natomiast szóste pole służy do wykonania polecenia.