SSH - Zaplanowane zadania

Procédure

SSH - Zaplanowane zadania

Wiele czynności administracyjnych można zautomatyzować za pomocą skryptów Perla lub skryptów powłoki uruchamianych w regularnych odstępach czasu. Na przykład możesz mieć skrypt sprawdzający, czy dysk nie jest pełny, który uruchamia się raz na godzinę, aby poinformować Cię o ewentualnych problemach. Najpopularniejszym mechanizmem planowania poleceń w systemach Linux jest pakiet cron.

W Debianie pakiet cron jest częścią systemu bazowego i jest domyślnie uruchomiony.

Cron jest dostarczany z Debianem w dwóch celach:

  • Aby uruchamiać zadania systemowe codziennie/tygodniowo/miesięcznie.

  • Aby umożliwić użytkownikom konfigurowanie własnych zaplanowanych zadań.


Pakiet Cron automatycznie tworzy następujące katalogi:

/etc/cron.d /etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly


Oprócz pierwszego, który jest specjalny, katalogi te pozwalają w prosty sposób zaplanować zadania dla całego systemu. Każdy skrypt umieszczony w nich będzie uruchamiany tak często, jak sugeruje jego nazwa.

Na przykład, jeśli umieścisz skrypt wewnątrz /etc/cron.daily, będzie on uruchamiany raz dziennie, każdego dnia.

Katalogi te są przydatne w niektórych przypadkach, ale jeśli trzeba bardziej dostosować czasy wykonywania, można to zrobić poprzez edycję pliku /etc/crontab, co wyjaśnimy dalej:

Normalnym sposobem korzystania z crona jest użycie polecenia crontab. Pozwala to na przeglądanie lub edycję pliku crontab, który jest plikiem dla każdego użytkownika zawierającym wpisy opisujące polecenia do uruchomienia i czas ich wykonania.

Aby wyświetlić plik, należy uruchomić następujące polecenie:

crontab -l


Użytkownik root może wyświetlić plik crontab dowolnego użytkownika, dodając -u username, na przykład :

crontab -u username -l


Format tych plików jest dość prosty do zrozumienia. Każda linia jest zbiorem sześciu pól oddzielonych spacjami.

Pola te to :

  1. Liczba minut po godzinie (od 0 do 59)

  2. Godzina w formacie czasu wojskowego (24 godziny) (od 0 do 23)

  3. Dzień miesiąca (od 1 do 31).

  4. Miesiąc (od 1 do 12).

  5. Dzień tygodnia (0 lub 7).

  6. Polecenie do wykonania.


Wyglądałyby one następująco:

* * * * Polecenie do wykonania - - - - - - - | | | | | | | | +-----> Dzień tygodnia (0-7) | | +-----------> Miesiąc (1 - 12) | +-----------------> Dzień miesiąca (1 - 31) | +-----------------------> Godzina (0 - 23) +-----------------------------> Minuty (0 - 59)

(Każde z pierwszych pięciu pól zawiera tylko liczby, ale można je pozostawić jako *, aby wskazać, że każda wartość jest akceptowalna).


Teraz, gdy widzieliśmy już strukturę, powinniśmy spróbować uruchomić kilka przykładów:

Edytuj plik crontab:

crontab -e


Spowoduje to uruchomienie domyślnego edytora na pliku crontab (tworząc go w razie potrzeby). Po zapisaniu pliku i wyjściu z edytora, crontab zostanie zainstalowany w systemie, chyba że zawiera błędy.

Domyślnym edytorem jest nano

Wpisz następujący tekst:

0 * * * * /bin/ls > /var/log/ls.log


Po zapisaniu pliku i wyjściu z edytora pojawi się komunikat :

crontab: instalowanie nowego crontab


Możesz sprawdzić, czy plik zawiera to, czego oczekujesz:

crontab -l


Tutaj powiedzieliśmy Cronowi, aby uruchamiał polecenie /bin/ls i przekierowywał dane wyjściowe polecenia do pliku /var/log/ls.log za każdym razem, gdy minuta jest równa 0, tj. będzie uruchamiał polecenie co godzinę, co godzinę.

Inne przykłady:

Uruchom polecenie "night" dziesięć minut po północy, każdego dnia

10 0 * * * /bin/night


Uruchamianie komendy "Monday" w każdy poniedziałek o 2 nad ranem

0 2 * * 1 /usr/local/bin/lundi


Jeśli chcesz uruchamiać coś bardzo regularnie, możesz użyć innej składni: zamiast używać samych liczb, możesz użyć zakresów lub zestawów.

Seria liczb wskazuje, że każdy punkt w tym zakresie będzie dostępny, więc jeśli użyjesz następującej linii, uruchomisz polecenie o godzinie 1, 2, 3 i 4:

* 1-4 * * /bin/command


Zestaw jest podobny, składa się z zestawu liczb oddzielonych przecinkami, każdy element na liście zostanie dopasowany. Poprzedni przykład wygląda następująco przy użyciu zestawów:

* 1,2,3,4 * * /bin/command

Oceń ten artykuł :

5/5 | 2 opinia

Ten artykuł był dla Ciebie przydatny ?

Article utileTak

Article non utileNie

MerciMerci ! N'hésitez pas à poser des questions sur nos documentations si vous souhaitez plus d'informations et nous aider à les améliorer.


Vous avez noté 0 étoile(s)

Podobne artykuły

2mn czytanie

Jak skonfigurować zaporę sieciową na dedykowanym serwerze VPS?

1mn czytanie

Jak mogę połączyć się jako root na dedykowanym serwerze VPS za pomocą Putty?

0mn czytanie

Polecenia SSH w systemie Linux / Debian

0mn czytanie

SSH - Polecenie Apt-get: Instalowanie i odinstalowywanie pakietów


Zadaj pytanie zespołowi LWS i jego społeczności