W tym samouczku zapewnimy podstawowe wprowadzenie wszystkiego, co musisz zrozumieć do planowania pracy z Cron. Obejmuje to podstawową składnię CRON, edytowanie pliku crontab, zaplanuj pracę z Cron z kilkoma przykładami, wyświetl zadanie CRON itp.
Podstawy pracy Cron
Zrozumiemy niektóre podstawy pracy Cron.
Co to jest Crond?
Crond to demon w systemie Linux, który działa w tle i sprawdza co minutę, aby sprawdzić, czy w tym czasie zaplanowano jakieś zadanie. Jeśli tak, wykonuje to zadanie, w przeciwnym razie pozostaje nieaktywna.
Składnia pracy Cron
Składnia pracy Cron jest następująca:
* * * * * polecenie/skrypt
Z lewej:
Aby określić wiele wartości w polu, użyj następujących symboli operatora:
Edycja pliku crontab
Crontab to plik, który zawiera zaplanowane zadania w określonej składni. Istnieją dwa rodzaje plików crontab; Jeden dla zadań CRON specyficznych dla systemu, a drugi dla zadań CRON specyficznych dla użytkownika.
System Cron Jobs
Praca CRON obejmuje całe system /etc/crontab plik i /etc/cron.D katalog i przechodzą one /etc/cron.cogodzinny, /etc/cron.codziennie, /etc/cron.co tydzień I /etc/cron.miesięczny. Tylko administrator systemu może uzyskać dostęp do tych plików.
Administrator systemu może zdefiniować zadanie CRON za pomocą następującego polecenia:
$ nano /etc /crontab
Oto składnia pracy w /etc/crontab plik:
# min Hr Dayofonth miesiąc DayofWeek Dowództwo nazwy użytkownika
* * * * * użytkownik1 ifconfig
Zadania CRON specyficzne dla użytkownika
Zadania CRON specyficzne dla użytkownika znajdują się w /var/szpula/cron/crontabs informator. Chociaż możesz edytować te zadania ręcznie, zaleca się edytowanie tych zadań za pomocą polecenia crontab -e.
Standardowy użytkownik może zdefiniować zadanie CRON za pomocą następującego polecenia:
$ crontab -e
Na przykład, jeśli jesteś zalogowany jako użytkownik „testu”, uruchomienie polecenia crontab -e będzie edytować plik crontab dla użytkownika „test”. Podobnie, jeśli jesteś zalogowany jako użytkownik root, polecenie crontab -e będzie edytować plik crontab dla użytkownika root.
Wydaj poniższe polecenie w terminalu, aby edytować plik crontab dla każdego innego użytkownika:
$ sudo crontab -u-mi
Na przykład, jeśli jesteś zalogowany jako użytkownik „test1” i chcesz edytować plik crontab dla użytkownika „test2”, poleceniem byłoby:
$ sudo crontab -u test2 -e
Oto składnia zadania CRON, którą można dodać w pliku crontab:
# M H Dayofonth miesiąc Dayofweek Command
* * * * * ifconfig
Możesz zobaczyć w zadaniach specyficznych dla użytkownika, że nie ma złożonej „nazwy użytkownika”.
Polecenia crontab
Polecenie Crontab służy do edytowania, listy i usuwania zadań CRON:
Planowanie pracy z Cron
Z Cronem możesz uruchomić pracę w określonej godzinie, datę i odstępie czasu z minimalną jednostką w kilka minut, i.mi., Możesz prowadzić pracę co minutę.
Aby zaplanować pracę w Cron, otwórz plik crontab za pomocą metody omówionej w poprzednim rozdziale. Po otwarciu pliku crontab zostaniesz poproszony o wybranie edytora tekstu. Wpisz numer, aby wybrać preferowany edytor tekstu. Przewiń w dół do dolnej części pliku i dodaj zadania w składni opisanej powyżej. Każdy wiersz w pliku określa jedno polecenie. Pierwsze pięć wpisów w wierszu określa zaplanowany czas, a ostatni wpis określa, które polecenie lub skrypt powinien uruchomić.
Przykład:
Poniższy wiersz w pliku crontab zaplanuje zadanie CRON, aby uruchomić polecenie/skrypt co 30 minuty po 5 godzinach każdego dnia tygodnia od poniedziałku do soboty.
*/30 5 * * 1-6 polecenie/skrypt
Minuty
W tym polu określamy minuty, gdy chcemy, aby polecenie zostało wykonane. Jest określony od 0 do 59. * W tej dziedzinie oznacza prowadzenie pracy co minutę. W powyższej linii crontab */30 mówi zadaniu CRON, aby uruchamiał określone polecenie/skrypt co 30 minut.
godziny
W tym polu określamy godziny, w których chcemy, aby polecenie zostało wykonane. Jest określony od 0 do 23. * W tej dziedzinie oznacza prowadzenie pracy co godzinę. W powyższej linii crontab wartość 5 mówi zadaniu Cron, aby uruchamiał określone polecenie/skrypt co pięć godzin.
Dzień miesiąca
W tym polu określamy określone dni miesięcy, kiedy chcemy, aby polecenie zostało wykonane. Jest to określone od 1 do 31. * W tej dziedzinie oznacza codziennie. W powyższej linii crontab * każe zadanie Cron, aby codziennie uruchamiać określone polecenie/skrypt.
Miesiąc roku
W tym polu określamy określone miesiące, w których chcemy wykonać polecenie. Jest określony od 1 do 12. * W tej dziedzinie oznacza co miesiąc. W powyższej linii crontab * mówi CRONowi, aby co miesiąc uruchamiał określone polecenie/skrypt.
Dzień tygodnia
W tym polu określamy określone dni tygodnia, kiedy chcemy wykonać polecenie. Jest to określone od 0 do 6 od niedzieli do soboty (0 na niedzielę i 6 na sobotę). * W tej dziedzinie oznacza codziennie w tygodniu. W powyższej linii crontab * mówi CRONowi, aby codziennie uruchomić określone polecenie/skrypt.
Przykłady pracy CRON
Oto kilka przykładów pracy CRON:
Uruchom pracę cron co 15 minut
Aby zaplanować zadanie CRON do uruchomienia co 15 minut, dodaj poniższą linię w pliku crontab:
*/15 * * * * polecenie/skrypt
Prowadzić pracę cron o 5 rano każdego dnia
Aby zaplanować zadanie CRON, aby uruchomić o 5 rano każdego dnia, dodaj poniższą linię w pliku crontab:
0 5 * * * polecenie/skrypt
Prowadzić pracę Cron o 17:00 każdego dnia
Aby zaplanować zadanie CRON, aby uruchomić o 17:00 każdego dnia, dodaj poniższą linię w pliku crontab:
0 17 * * * polecenie/skrypt
Prowadzić pracę Cron o 9 rano pierwszego dnia każdego miesiąca
Aby zaplanować zadanie CRON, aby uruchomić o 9 rano pierwszego dnia każdego miesiąca, dodaj poniższą linię w pliku crontab:
0 9 1 * * polecenie/skrypt
Prowadzić pracę cron co godzinę co 15 marca
Aby zaplanować pracę CRON co godzinę każdego 15 marca, dodaj poniższą linię w pliku crontab:
0 * 15 3 * Polecenie/skrypt
Prowadzić pracę CRON co 5 godzin
Aby zaplanować pracę CRON co 5 godzin, dodaj poniższą linię w pliku crontab:
0 */5 * * * polecenie/skrypt
Uruchom pracę cron co 15 minut
Aby zaplanować zadanie CRON do uruchomienia co 15 minut, dodaj poniższą linię w pliku crontab:
*/15 * * * *
Za pomocą strun
Do zdefiniowania zadania można również użyć następujących strun:
Na przykład, aby uruchomić skrypt lub polecenie co tydzień, wpis w pliku crontab byłby:
@Weekly Command/Script
Zdefiniowane katalogi CRON
Istnieje kilka wstępnie zdefiniowanych katalogów CRON w Linux, w których przechowywane skrypty są automatycznie wykonywane. Jeśli umieścimy jakikolwiek skrypt w tych katalogach, zostanie on automatycznie wykonany w skonfigurowanym czasie.
Na przykład, aby wykonać skrypt raz na miesiąc, musisz umieścić go w /etc /cron.miesięczny.
Zobacz Cron Jobs
Wyświetl zadania dla obecnego użytkownika
Użyj następującego polecenia, aby wyświetlić wszystkie zaplanowane zadania CRON dla obecnego użytkownika:
$ crontab -l
Wyświetl zadania dla użytkowników root
Aby wyświetlić wszystkie zaplanowane zadania użytkownika root, wydaj następujące polecenie w terminalu:
$ cat /etc /crontab
Musisz zalogować się jako użytkownik root lub uruchomić polecenie jako sudo.
Wyświetl zadania dla innych użytkowników
Aby wyświetlić wszystkie zaplanowane zadania określonego użytkownika, wydaj następujące polecenie w terminalu zastępując rzeczywistą nazwę użytkownika:
$ sudo crontab -u-L
Aby uruchomić to polecenie, będziesz potrzebować przywilejów sudo.
Zobacz godzinowe prace Cron
Aby wyświetlić wszystkie zadania CRON skonfigurowane do działania co godzinę, wydaj następujące polecenie w terminalu:
$ ls -la /etc /cron.cogodzinny
Zobacz codzienne prace CRON
Aby wyświetlić wszystkie zadania CRON skonfigurowane do codziennego uruchamiania, wydaj następujące polecenie w terminalu:
$ ls -la /etc /cron.codziennie/
Zobacz cotygodniowe prace CRON
Aby wyświetlić wszystkie zadania CRON skonfigurowane do uruchamiania co tydzień, wydaj następujące polecenie w terminalu:
$ ls -la /etc /cron.co tydzień/
Wyświetl miesięczne prace CRON
Aby wyświetlić wszystkie zadania CRON skonfigurowane do uruchamiania co miesiąc, wydać następujące polecenie w terminalu:
$ ls -la /etc /cron.miesięczny/
Kopie zapasowe wszystkich prac CRON
Zaleca się prowadzenie kopii zapasowej wszystkich zadań CRON w pliku, abyś mógł odzyskać w przypadku usunięcia. Aby wykonać kopię zapasową wszystkich bieżących zadań, użyj operatora przekierowania, aby przekierować dane wyjściowe crontab -l do pliku.
$ crontab -l> backup_cron.tekst
Usuwanie wszystkich zaplanowanych zadań CRON
Aby usunąć wszystkie zaplanowane zadania CRON, użyj flagi -R w następujący sposób:
$ crontab -r
Zezwolenie na cron
Możemy ograniczyć polecenie dostępu do Crontab za pomocą dwóch plików: / itp./Cron.Zezwalaj i / etc / cron.zaprzeczyć.
Generatory składni crontab
Istnieje kilka stron internetowych, które umożliwiają generowanie składni dla crontabs. Te strony internetowe ułatwiają generowanie wyrażenia crontab bez konieczności zapamiętywania składni. Chociaż istnieją różne strony internetowe dla generatorów składniowych, takich jak crontabgenerator.com, crontab-generator.org i cronmaker.com. Ten, który w większości wolę i uważam, że jest pomocny, jest crontab.Guru. W oparciu o dane wejściowe użytkownika generuje wyrażenie crontab, które można kopiować w pliku crontab.
Wniosek
W tym samouczku wyjaśniliśmy podstawy pracy Cron, jego składnię i sposób jej ustawienia. Omówiliśmy również, jak oglądać zadania CRON, tworzyć kopię zapasową i usuwając je, jeśli już nie jest potrzebne.