Cron to skuteczne i popularne narzędzie wiersza poleceń służące do planowania szerokiego zakresu zadań w określonym czasie bez interakcji użytkownika. Zaplanowane zadania są znane jako zadania crona, podczas gdy crontab to lista plików zawierających zadania crona.
W tym artykule wyjaśnimy na różnych przykładach, jak edytować i używać pliku crontab w celu planowania zadań w systemie Debian 10.
Cron może być używany do automatyzacji zadań w następujących scenariuszach:
- Wykonuję kopie zapasowe harmonogramu,
- Sprawdzanie miejsca na dysku w określonych odstępach czasu,
- Uruchamianie automatycznej konserwacji,
- Okresowe usuwanie niechcianych plików,
- Uruchamianie diagnostyki sieci
Składnia
Łatwiej jest pracować z cron, gdy zrozumiesz jego składnię. Ogólna składnia używania crona to:
* * * * /ścieżka/do/skryptu.ciiKażde z pól odpowiada:
Minuta (0-59) Godzina (0-24) Dzień miesiąca (1-7) Miesiąc_roku (1-12)Polecenie „Dzień_tygodnia” (0-6)
Instalowanie Crona
Cron jest preinstalowany w Debianie 10. Jeśli jednak brakuje go w twoim systemie, uruchom następujące polecenie, aby go zainstalować:
$ sudo apt zainstaluj cronZobacz crontab
Aby wyświetlić plik crontab, użyj następującego polecenia:
$ crontab -lAby wyświetlić plik crontab konkretnego użytkownika, użyj następującego polecenia:
$ sudo crontab -u użytkownik -lEdytuj crontab
Aby edytować plik crontab bieżącego użytkownika:
$ crontab -eAby edytować plik crontab konkretnego użytkownika:
$ sudo crontab -u użytkownikJeśli edytujesz plik crontab po raz pierwszy, zostaniesz poproszony o wybranie edytora:
Po wybraniu edytora pojawi się następujące okno.
Na przykład, chcesz uruchomić skrypt kopii zapasowej o nazwie „kopia zapasowa.sh” znajduje się w katalogu dokumentów codziennie o godzinie 2:00. Aby to zrobić, musisz dodać następujący wiersz w pliku crontab:
0 2 * * * /Dokumenty/kopia zapasowa.cii
W powyższym oknie możesz dodawać swoje zadania cron jeden po drugim. Po zakończeniu zapisz i wyjdź z pliku, po czym wszystkie zadania cron zostaną automatycznie uruchomione w określonych odstępach czasu.
Usuń crontab
Aby usunąć plik crontab, wprowadź następujące polecenie w Terminalu:
$ crontab -rPrzejdźmy teraz przez serię przykładów zadań crona na maszynie linux.
1. Uruchamiaj zadanie cron co minutę
Aby wykonać zadanie cron co minutę, dodaj następujący wiersz w pliku crontab:
* * * * * /ścieżka/do/skryptu.cii2. Uruchom zadanie cron co 10 minut
Aby zaplanować wykonanie zadania crona co 10 minut, dodaj następującą linię do pliku crontab.
*/10 * * * * /ścieżka/do/skryptu.cii3. Uruchom zadanie cron w określonych miesiącach
Aby zaplanować zadanie cron do wykonania w określonych miesiącach e.sol. Marzec, sierpień, grudzień, dodaj zadanie cron do pliku crontab w następujący sposób:
* * * sty,maj,sier * /ścieżka/do/skryptu.cii4. Uruchom zadanie cron w wybrane dni
Jeśli chcesz, aby Twoje zadanie crona zostało wykonane w wybrane dni, załóżmy w niedzielę i piątek o godzinie 17:00, powinno to wyglądać następująco.
0 17 * * nd,pt /ścieżka/do/skryptu.cii5. Uruchamiaj zadanie cron codziennie o określonej godzinie
Aby zaplanować codzienne wykonywanie zadania cron o określonej godzinie, powiedzmy o 3 nad ranem, dodaj tę linię do pliku crontab.
0 3 * * * /ścieżka/do/skryptu.cii6. Uruchom zadanie cron w określonym dniu
Aby zaplanować wykonanie zadania cron na określony dzień, powiedzmy w każdą niedzielę, dodaj tę linię do pliku crontab.
0 0 * * SUN /ścieżka/do/skryptu.ciiZadanie będzie uruchamiane o godzinie 00:00 w każdą niedzielę.
7. Uruchom wiele zadań w jednym zadaniu cron
Aby zaplanować wiele zadań w jednym zadaniu cron, dodaj wszystkie skrypty do pliku crontab, oddzielając je średnikiem.
* * * * * /ścieżka/do/skryptu1.sz; /ścieżka/do/skryptu2.cii8. Uruchom zadanie cron na każdy dzień powszedni
Aby zaplanować zadanie cron do wykonania w każdy dzień tygodnia, czyli od poniedziałku do piątku, musisz dodać tę linię do pliku crontab.
0 0 * * 1-5 /ścieżka/do/skryptu.ciiZadanie będzie uruchamiane o godzinie 00:00 w każdy dzień powszedni.
9. Uruchom zadanie cron dwa razy dziennie
Aby zaplanować zadanie uruchamiane dwa razy dziennie e.sol. o 6 rano i 15 po południu musisz dodać tę linię do swojego pliku crontab:
0 6,15 * * * /ścieżka/do/skryptu.cii10. Uruchamiaj zadanie cron co godzinę
Aby zaplanować wykonanie zadania cron co godzinę w minucie 0, musisz dodać tę linię do pliku crontab:
0 * * * * /ścieżka/do/skryptu.ciiNa przykład, jeśli aktualna godzina to 14:00, zadanie zostanie uruchomione o 15:00, 16:00 i tak dalej.
11. Uruchom zadanie cron co 3 godziny
Aby zaplanować uruchamianie zadania cron co 3 godziny w minucie 0, musisz dodać tę linię do pliku crontab:
0 */3 * * * /ścieżka/do/skryptu.ciiNa przykład, jeśli aktualna godzina to 14:00, zadanie zostanie uruchomione o 17:00, 20:00 i tak dalej.
12. Uruchom zadanie cron o 16:00 pierwszego dnia każdego miesiąca
Aby zaplanować uruchomienie zadania pierwszego dnia każdego miesiąca o 16:00, musisz dodać ten wiersz w pliku crontab:
0 16 1 * * /ścieżka/do/skryptu.ciiStruny w Crontab
Możesz także użyć następujących ciągów zamiast długich, powtarzających się poleceń.
@hourly- Uruchom zadanie cron co godzinę i.mi. „0 * * * *”@midnight- Uruchamiaj zadanie cron każdego dnia i.mi. „0 0 * * *”
@codziennie- tak samo jak o północy
@weekly- Uruchamiaj zadanie cron co tydzień, ja.mi. „0 0 * * 0”
@monthly- Uruchom zadanie cron co miesiąc i.mi. „0 0 1 * *”
@corocznie- Uruchamiaj zadanie cron co roku i.mi. „0 0 1 1 *”
@rocznie - to samo co @rocznie
@reboot- Uruchom zadanie cron przy każdym rozruchu
Na przykład, aby uruchamiać zadanie cron codziennie w pierwszej minucie i pierwszej godzinie, dodaj następujący wiersz:
@codziennie /ścieżka/do/skryptu.ciiNa przykład, aby uruchomić zadanie cron za każdym razem, gdy serwer jest ponownie uruchamiany:
@reboot /ścieżka/do/skryptu.ciiTo wszystko, co w tym jest! W tym artykule dowiedzieliśmy się, jak zautomatyzować różne zadania za pomocą crontab w systemie Debian. Korzystając z powyższych przykładów, możesz zaplanować dowolny rodzaj zadania do zainicjowania bez interakcji użytkownika.