Crontab in Linux

Crontab in Linux
Wraz z nadejściem nowych technologii chcemy, aby wszystko było zautomatyzowane, w tym nasze systemy komputerowe. Na przykład, jako administrator systemu, możemy chcieć, aby nasza kopia zapasowa była uruchamiana każdej nocy 2:00. Więc jaki jest cel komputerów, jeśli musimy budzić się codziennie o 2:00 rano i ręcznie uruchomić polecenia, aby zainicjować kopię zapasową. Powinien istnieć sposób, który mówi systemowi do automatycznego uruchomienia kopii zapasowej w określonym czasie. Na szczęście system OS Linux oferuje narzędzie Cron, które umożliwia automatyzację zadań w określonym okresie.

Cron jest skutecznym i popularnym narzędziem wiersza poleceń używanego do planowania szerokiego zakresu zadań w określonym czasie bez interakcji użytkownika. Zaplanowane zadania są znane jako Cron Jobs, podczas gdy crontab jest listą pliku zawierającego zadania CRON.

W tym artykule wyjaśnimy różnymi przykładami pokazuje, że możesz edytować i używać pliku crontab, aby zaplanować zadania w systemie Debian 10.

Cron może być używany do automatyzacji zadań w następujących scenariuszach:

  • Uruchamianie kopii zapasowych harmonogramu,
  • Sprawdzanie miejsca na dysku w określonym przedziale,
  • Uruchamianie automatycznej konserwacji,
  • Okresowe usuwanie niechcianych plików,
  • Uruchamianie diagnostyki sieci

Składnia

Łatwiej jest pracować z Cronem, gdy zrozumiesz jego składnię. Ogólna składnia do użycia Cron to:

* * * */ścieżka/do/skrypt.cii

Każdy z pól odpowiada następującym:

Minute (0-59) godzina (0-24) dzień_of_the_month (1-7) Month_of_the_year (1-12)
Polecenie day_of_the_week (0-6)

Instalowanie Cron

Cron jest wstępnie zainstalowany w Debian 10. Jeśli jednak brakuje jej w systemie, uruchom następujące polecenie, aby go zainstalować:

$ sudo apt instal cron

Zobacz crontab

Aby wyświetlić plik crontab, użyj następującego polecenia:

$ crontab -l

Aby wyświetlić plik Crontab określonego użytkownika, użyj następującego polecenia:

$ sudo crontab -u użytkownik -l

Edytuj crontab

Aby edytować plik crontab bieżącego użytkownika:

$ crontab -e

Aby edytować plik crontab konkretnego użytkownika:

$ sudo crontab -u użytkownik

Jeśli po raz pierwszy edytujesz plik crontab, zostaniesz poproszony o wybranie edytora:

Po wybraniu edytora pojawi się następujące okno.

Na przykład chcesz uruchomić skrypt kopii zapasowej o nazwie „Backup.sh ”zlokalizowane w katalogu dokumentów codziennie o 2:00 rano. Aby to zrobić, musisz dodać następujący wiersz w pliku crontab:

0 2 * * * /dokumenty /kopia zapasowa.cii

W powyższym oknie możesz dodać swoje zadania CRON jeden po drugim. Po zakończeniu zapisz i wyjdź z pliku po tym, jak wszystkie zadania CRON będą automatycznie działać w określonym odstępie czasu.

Usuń crontab

Aby usunąć plik crontab, wprowadź następujące polecenie w terminalu:

$ crontab -r

Teraz przejdźmy do serii przykładów zadań CRON na maszynie Linux.

Prowadzić pracę Cron co minutę

Aby wykonać zadanie CRON co minutę, dodaj następujący wiersz w pliku crontab:

* * * * */ścieżka/do/skrypt.cii

Po 10 minutach prowadzić pracę cron

Aby zaplanować zadanie CRON do wykonywania co 10 minut, dodaj następujący wiersz w pliku crontab.

*/10 * * * */ścieżka/do/skrypt.cii

Prowadzić pracę CRON w określone miesiące

Zaplanować zadanie CRON, aby wykonać w określonych miesiącach e.G. Marzec, sierpień, grudzień, dodaj pracę Cron w swoim pliku crontab w następujący sposób:

* * * Jan, maj, sierpień */ścieżka/do/skrypt.cii

Prowadzić pracę CRON w wybrane dni

Jeśli chcesz, aby Twoja praca Cron została wykonana w wybranych dniach, załóżmy, że niedziela i piątek o 17:00.

0 17 * * Słońce, pt./Ścieżka/do/skrypt.cii

Codziennie prowadzić pracę Cron w określonym czasie

Aby zaplanować zadanie CRON, aby wykonywać codziennie w określonym czasie, powiedzmy o 3 nad ranem, dodaj ten wiersz w pliku crontab.

0 3 * * */ścieżka/do/skrypt.cii

Prowadzić pracę Cron w określony dzień

Aby zaplanować zadanie CRON, aby wykonać w określonym dniu, powiedzmy w każdą niedzielę, dodaj ten wiersz w swoim pliku crontab.

0 0 * * Słońce/ścieżka/do/skrypt.cii

Praca będzie działać o 00:00 w każdą niedzielę.

Uruchom wiele zadań w jednym zadaniu CRON

Aby zaplanować wiele zadań w jednym zadaniu CRON, dodaj wszystkie skrypty w pliku crontab, oddzielając je półkolonem.

* * * * */ścieżka/do/script1.cii; /ścieżka/do/script2.cii

Uruchom pracę CRON każdy dzień powszedni

Aby zaplanować zadanie CRON do wykonywania każdego dnia tygodnia, które pochodzi od poniedziałku do piątku, musisz dodać ten wiersz w swoim pliku Crontab.

0 0 * * 1-5/ścieżka/do/skrypt.cii

Praca będzie trwała o 00:00 na każdy dzień powszedni.

Prowadzić pracę CRON dwa razy dziennie

Zaplanować pracę do pracy dwa razy dziennie E.G. O 6 rano i 15:00 będziesz musiał dodać tę linię w swoim pliku crontab:

0 6,15 * * */ścieżka/do/skrypt.cii

Prowadzić pracę cron co godzinę

Aby zaplanować zadanie CRON, aby wykonywać co godzinę w minucie 0, musisz dodać tę linię w pliku Crontab:

0 * * * */ścieżka/do/skrypt.cii

Na przykład, jeśli obecny czas będzie o godz. 14.00, zadanie potrwa o godzinie 15:00, 16:00 i tak dalej.

Prowadzić pracę cron po co 3 godziny

Aby zaplanować zadanie CRON, aby uruchomić co 3 godziny w minucie 0, musisz dodać tę linię w pliku Crontab:

0 */3 * * */ścieżka/do/skrypt.cii

Na przykład, jeśli obecny czas będzie o godz. 14.00, zadanie potrwa o 17:00, 20:00 i tak dalej.

Uruchom pracę Cron o 16:00 pierwszego każdego miesiąca

Aby zaplanować pracę, aby uruchomić dzień pierwszy o 16:00, musisz dodać tę linię w pliku Crontab:

0 16 1 * */ścieżka/do/skrypt.cii

Struny w crontab

Możesz także użyć następujących ciągów, a nie długich powtarzających się poleceń.

@godzinę- uruchom pracę cron co godzinę ja.mi. „0 * * * *”
@Midnight- Run Cron Job każdego dnia ja.mi. „0 0 * * *”
@Daily- To samo co północ
@cotygodniowe- uruchom pracę cron co tydzień, ja.mi. „0 0 * * 0”
@miesięczny- uruchom pracę cron co miesiąc.mi. „0 0 1 * *”
@rocznie- uruchom pracę co roku.mi. „0 0 1 1 *”
@roczne- takie samo jak @Anly
@restboot- uruchom zadanie cron przy każdym rozruchu

Na przykład, aby codziennie prowadzić pracę Cron w pierwszej minucie i pierwszej godzinie, dodaj następującą linię:

@Daily/Path/to/Script.cii

Na przykład, aby uruchomić zadanie CRON za każdym razem, gdy serwer jest ponownie uruchamiany:

@reboot/ścieżka/do/skrypt.cii

To wszystko w tym jest! W tym artykule nauczyliśmy się zautomatyzować różne zadania za pomocą crontab w systemie Debian. Korzystając z powyższych przykładów, możesz zaplanować dowolne zadanie, aby zainicjować bez interakcji użytkownika.