crontab

Jak skonfigurować zadania Cron w systemie Linux?

Jak skonfigurować zadania Cron w systemie Linux?
Automatyzacja i planowanie powtarzających się zadań na komputerach stacjonarnych i serwerach poprawia produktywność i ogranicza ręczne interwencje i monitorowanie and. Wiele takich narzędzi jest dostępnych dla systemu Linux, a jednym z najczęściej używanych jest „cron”.

W tym artykule wyjaśnimy planowanie zadań i uruchamianie skryptów w regularnych odstępach czasu przy użyciu zadań cron.

Co to jest Cron?

Cron to program do planowania zadań, który działa w tle jako proces. Może być używany do okresowego uruchamiania niektórych zadań, które są zaplanowane przy użyciu predefiniowanego zestawu reguł. Cron jest preinstalowany w większości dystrybucji Linuksa lub dostępny w repozytoriach do ręcznej instalacji.

Presety Crona

Cron na Ubuntu zawiera zestaw predefiniowanych harmonogramów. Możesz je sprawdzić, uruchamiając poniższe polecenie:

$ ls /etc/cron.*

Zwykle te foldery to „/etc/cron.co godzinę”, „/etc/cron.codziennie”, „/etc/cron.miesięcznie” i „/etc/cron.tygodniowo".

Po prostu umieść żądane skrypty w jednym z tych folderów, aby uruchamiać automatyczne zadania co godzinę, codziennie, co miesiąc lub co tydzień.

Zauważ, że cron domyślnie używa powłoki „/bin/sh”. Jeśli chcesz użyć „/bin/bash” jako powłoki w skryptach cron, musisz użyć „!# /bin/bash” hashbang na górze pliku skryptu lub zdefiniuj powłokę jako zmienną „SHELL=/bin/bash” w pierwszym wierszu zaplanowanego skryptu bash. Nadpisanie zmiennej środowiskowej „SHELL” działa również w edytorze crontab wyjaśnionym poniżej.

Nie wszystkie zmienne środowiskowe systemu mogą być narażone na zadania cron. Dlatego ogólnie dobrym pomysłem jest ręczne zdefiniowanie ważnych zmiennych środowiskowych w skrypcie zaplanowanym przez cron.

Crontab

Crontab umożliwia definiowanie własnych zaplanowanych zadań. Możesz go użyć do skonfigurowania harmonogramów crona innych niż cztery standardowe ustawienia crona opisane powyżej.

Aby ustawić zaplanowane zadanie w crontab, najpierw uruchom edytor crontab za pomocą poniższego polecenia:

$ crontab -e

Teraz na końcu pliku możesz dodać wpis w następującym formacie:

minuta godzina dzień miesiąc dzień tygodnia /pełna/ścieżka/do/skryptu.cii

Gdzie:

Poniższy wpis crontab zrobi zrzut ekranu twojego pulpitu i zapisze go w twoim katalogu domowym raz o godzinie 15:13 2 marca oraz w każdy wtorek marca o godzinie 15:13.

13 15 2 3 2 moszna

Aby wyświetlić wszystkie wpisy crontab, użyj poniższego polecenia:

$ crontab -l

Więcej przykładów

Zadania Crona można najlepiej wyjaśnić na przykładach, więc poniżej znajduje się kilka przykładów, które będą okresowo wykonywać zrzuty ekranu z pulpitu i przechowywać je w folderze domowym.

Oprócz pięciu zmiennych planujących, cron używa również specjalnego ciągu do planowania zadań. Te ciągi to:

Poniższy wpis crontab wykona zrzut ekranu raz przy każdym ponownym uruchomieniu:

@reboot scrot sc

Możesz zastąpić „@reboot” dowolnym innym specjalnym ciągiem wymienionym powyżej.

Użycie gwiazdki lub symbolu wieloznacznego w miejsce dowolnej z pięciu zmiennych spowoduje powtórzenie zadania we wszystkich nowych wystąpieniach tej zmiennej. Poniższy wpis będzie robił zrzut ekranu co minutę:

* * * * *  moszna

Co godzinę:

0 * * * *  moszna

Codziennie o 18:00:

0 18 * * * moszna

Co miesiąc 6 dnia o godzinie 18:00:

0 18 6 * * moszna

Użyj „/”, aby uruchamiać skrypt w stałych odstępach 30 minut (uruchamiany co 30 minut):

*/30 * * * * moszna

Możesz użyć zmiennych oddzielonych przecinkami, aby zdefiniować powtarzanie wykonywania skryptu w regularnych odstępach czasu. Poniższy przykład wykona zrzut ekranu Twojego pulpitu co 1, 4 i 5 minutę nowej godziny.

1,4,5 * * * * moszna

Weryfikowanie wpisów Crontab

Definiowanie wpisów crontab może być trudne, ale debugowanie ich lub sprawdzanie, czy działają z poprawnymi znacznikami czasu, jest jeszcze trudniejsze. Jedną z opcji jest użycie maszyny wirtualnej i zapisanie znaczników czasowych skryptu uruchamianego okresowo na zadaniu cron, dołączając coś takiego jak polecenie „data” i przekierowując dane wyjściowe do pliku tekstowego. Jednak lepszym rozwiązaniem jest skorzystanie z jednej z wielu internetowych usług testowania zadań cron dostępnych w sieci. Polecam udostępnienie strony z testerem cron tutaj próba.

Wniosek

Uruchamianie zadań cron to doskonały sposób na automatyzację powtarzających się zadań, zwłaszcza na serwerach. Narzędzie jest niezwykle wydajne i można je dostosowywać. Jednak ważne jest, aby upewnić się, że definicja harmonogramu działa poprawnie, szczególnie w przypadku zadań o znaczeniu krytycznym.

Gry Najlepsze gry do grania ze śledzeniem rąk
Najlepsze gry do grania ze śledzeniem rąk
Oculus Quest niedawno wprowadził świetny pomysł śledzenia rąk bez kontrolerów. Przy stale rosnącej liczbie gier i działań, które wspierają zarówno for...
Gry Jak wyświetlić nakładkę OSD w pełnoekranowych aplikacjach i grach dla systemu Linux?
Jak wyświetlić nakładkę OSD w pełnoekranowych aplikacjach i grach dla systemu Linux?
Granie w gry pełnoekranowe lub korzystanie z aplikacji w trybie pełnoekranowym bez rozpraszania uwagi może odciąć Cię od istotnych informacji systemow...
Gry 5 najlepszych kart do przechwytywania gier
5 najlepszych kart do przechwytywania gier
Wszyscy widzieliśmy i uwielbialiśmy strumieniowe rozgrywki na YouTube on. PewDiePie, Jakesepticye i Markiplier to tylko niektórzy z najlepszych graczy...