Jak zaplanować zadanie w Linux?

Jak zaplanować zadanie w Linux?
Ilekroć korzystanie z systemu operacyjnego opartego na UNIX, niektóre zadania mają być wykonywane wielokrotnie. Uruchomienie ich ręcznie za każdym razem jest czasochłonne i ogólnie nieefektywne. Aby rozwiązać ten problem, UNIX jest wyposażony w wbudowane harmonogramy zadań. Te harmonogramy zadań działają jak inteligentny budzik. Gdy alarm się wyłączy, system operacyjny uruchomi predefiniowane zadanie.

W przypadku Linux jest wyposażony w dwa podstawowe, ale potężne narzędzia: Cron Demon (domyślny harmonogram zadań) i (bardziej odpowiedni do planowania zadań jednorazowych).

W tym przewodniku sprawdź, jak zaplanować zadanie w Linux.

Zaplanuj zadania w Linux

Cron
Demon Cron jest odpowiedzialny za prowadzenie wielu miejsc pracy w określonych momentach. Zadania te są na ogół uruchamiane w tle w zaplanowanych momentach. Oferuje dużą elastyczność, niezależnie od zadania, niezależnie od interwału (godzina, tydzień, miesiąc, rok lub cokolwiek innego).

Cron śledzi swoje działania za pomocą pliku crontab. Plik crontab to skrypt, który zawiera wszystkie niezbędne informacje do uruchomienia wszystkich zadań CRON.

Rzućmy okiem na niektóre podstawowe użycie Cron. W przypadku dowolnego z poniższych poleceń zostanie on skonfigurowany dla użytkownika root, jeśli jest uruchomiony z uprawnieniem sudo. W przypadku demonstracji pobrałem stąd przykładowy plik crontab.

Aby wymienić wszystkie zaplanowane zadania CRON dla bieżącego użytkownika, uruchom następujące polecenie. Wydrukuje całą zawartość pliku crontab.

$ crontab -l


Chcę list zadań CRON dla innego użytkownika? Zamiast tego uruchom to polecenie.

$ sudo crontab -u -l


Aby edytować skrypt crontab, uruchom polecenie. Aby edytować plik crontab dla root, uruchom następujące polecenie za pomocą uprawnienia sudo.

$ crontab -e


Każda linia w skrypcie crontab definiuje zadanie. Oto szybki podział wpisów crontab.

$

Oto lista wszystkich możliwych wartości dla wszystkich tych dziedzin. Jeśli używany jest gwiazdka (*) zamiast wartości liczbowej, zostanie użyta każda możliwa wartość pola.

  • Minuta: 0 do 59
  • Godziny: 0 do 23
  • Dzień miesiąca: od 1 do 31
  • Miesiąc: 1 do 12
  • Dzień tygodnia: 0 (niedziela) do 6 (sobota)

Aby uzyskać szczegółowy przewodnik na temat korzystania z crontab do automatyzacji zadań, sprawdź, jak skonfigurować zadania CRON w Linux. Oto kolejny szybki przykład pracy cronu w każdej minucie.

Na
Podczas gdy Cron jest głównym sposobem planowania zadań, AT oferuje możliwość uruchomienia polecenia/skryptu w określonym czasie lub w ustalonym odstępie czasu, zauważ, że AT uruchomią zadanie docelowe raz. Narzędzie AT jest mniej popularne w porównaniu do Cron, ale jest stosunkowo łatwiejsze w użyciu. Możesz użyć niektórych słów kluczowych, takich jak północ lub teatim (4 P.M.).

To narzędzie nie jest wstępnie zainstalowane w większości dystrybucji Linux. Do zainstalowania, uruchom odpowiednie polecenie zgodnie z dystrybucją.

Dla Debian/Ubuntu i instrumentów pochodnych.

$ Sudo apt instint -y at na temat


Dla centrów/rhel i pochodnych.

$ mniam instalacja na

Dla Arch Linux i pochodnych.

$ sudo pacman -s na

Dla Fedory i pochodnych.

$ sudo dnf instaluj na

Po zakończeniu instalacji włącz demon.

$ sudo systemctl włącz -teraz ATD.praca


Sposób w pracy jest nieco inny. Ilekroć wzywając, musisz zdefiniować odstęp przeprowadzania pożądanego zadania. Na przykład, aby uruchomić określone polecenie po godzinie, użyj następującego polecenia.

$ na teraz + 1 godzina


Aby uruchomić pożądane zadanie o 6 P.M., Za sześć dni uruchom następujące polecenie.

$ o 18:00 + 6 dni


Po uruchomieniu polecenia, o tym poprosi o uruchomienie poleceń (. Aby wyjść z montażu, naciśnij „Ctrl + D.„W tym wystąpi zaplanowane zadania i czas ich wykonania.

To jest tylko podstawowe użycie. Bardziej spójnym sposobem korzystania z AT może być wykonywanie skryptu Bash zawierającego wszystkie zadania, które należy wykonać. Zainteresowany dowiedzeniem się o skryptach BASH? Sprawdzać

$ o 18:00 + 6 dni -ff


Uruchom polecenie, aby wymienić wszystkie oczekujące na zadania.

$ atq


Należy zauważyć, że dane wyjściowe wymienia wszystkie zadania z określonym numerem odniesienia w lewej kolumnie. Jeśli chcesz usunąć zadanie w kolejce, użyj następującego polecenia.

$ ATRM

Końcowe przemyślenia

Planowanie zadania, w przypadku Linuksa, jest bardzo prostym zadaniem. Nauka tego po raz pierwszy zdecydowanie wymaga trochę wysiłku. Jednak po nauce może być niezwykle przydatne. Po skonfigurowaniu zaplanowane zadania będą działać.

Szczęśliwy komputer!