Jak tworzyć i dodawać zadania Cron w systemie Linux?

Planowanie okresowych zadań za pomocą Crona w Linuksie

cron to program dla systemu Linux, który służy do planowania polecenia lub skryptu do wykonania w późniejszym czasie. Może być również używany do planowania okresowego uruchamiania poleceń i skryptów. Programy zaplanowane przy użyciu crona są powszechnie określane jako Praca Crona. Jego główne zastosowanie to zadania administracji systemem, takie jak regularne tworzenie kopii zapasowych, regularne aktualizacje oprogramowania i inne podobne zadania konserwacyjne.

Wstęp

cron działa jako demon w Linuksie, tj. jako proces w tle. Umożliwia użytkownikom planowanie zadań bezpośrednio za pomocą polecenia crontab, które otwiera plik konfiguracyjny o nazwie Cron File w edytorze. Dla każdego użytkownika tworzone są oddzielne pliki Cron.

Tworzenie pliku Cron i podstawowej składni

ten crontab polecenie można wykonać za pomocą -mi flaga, aby edytować istniejący plik Cron. Jeśli plik jeszcze nie istnieje, zostanie utworzony. Jeśli użytkownik wywołuje polecenie po raz pierwszy i jeśli w systemie Linux jest zainstalowanych wiele edytorów plików, polecenie poprosi użytkownika o wybranie domyślnego edytora z listy edytorów.

Po wybraniu edytora zostanie utworzony i otwarty plik cron dla użytkownika. Możesz teraz określić zadania w pliku.

Ogólna składnia określania zadania Cron to:

Zasadniczo będzie działać o określonej „minutze” (0-59), „godzinie” (0-23), „dniu miesiąca”(1-31), miesiącu(1-12), dniu tygodnia, (0-7, W niedzielę można użyć 0 lub 7) w zadaniu Crona. Dla uproszczenia weźmy przykład:

1 2 3 4 5 echo "Cześć"

Oznacza to polecenie echo "Cześć" będzie kursował w każdy piąty dzień tygodnia (piątek) i co 3 dzień miesiąca, co 4 miesiąc w roku (kwiecień), o godzinie 02:01 (2. godzina pierwsza minuta).

Jeśli to samo polecenie ma być uruchamiane codziennie o 02:01, składnia będzie wyglądać następująco:

1 2 * * * echo "Cześć"

ten * oznacza „zawsze” lub „za wszystkich”, np. na wszystkie miesiące, na wszystkie dni tygodnia itd.

Operator polecenia (,) może służyć do wprowadzenia listy wartości, kiedy zadanie powinno zostać powtórzone. Na przykład:

0 2,3,4 * * * echo "Cześć"

Program będzie uruchamiany codziennie o 2 w nocy, 3 nad ranem i 4 w nocy.

Podobnie, myślnik (-) operator może służyć do określenia zakresu, dla którego zadanie ma się powtarzać. Na przykład:

0-20 2 * * * echo "Cześć"

Spowoduje to uruchomienie programu o godzinie 02:00, 02:01, 02:02 i tak dalej aż do 02:20.

Wreszcie mamy ukośnik ( / ) operatora. Ten operator służy do określenia wartości interwału, według której zadanie będzie powtarzane. Np. */15 w polu minut oznacza, że ​​zadanie należy powtarzać co 15 minut. 2-10/2 w polu godzin określa, że ​​zadanie będzie powtarzane w godzinach od 2:00 do 10:00 po każdej dwugodzinnej przerwie (2:00, 4:00, 6:00, 8.00, 10.00).

*/15 2-10/2 * * * echo "Witaj"

Po dokonaniu wpisu w pliku Cron zapisz plik i wyjdź z edytora.

Powinieneś zobaczyć „instalowanie nowego crontab” komunikat w terminalu po zapisaniu i wyjściu z pliku crontab.

Makra

Niektóre makra są wstępnie zdefiniowane w Cronie, które określają niektóre często wymagane przedziały czasu, takie jak co godzinę, codziennie, co miesiąc itp.

Aby uruchomić zadanie raz dziennie na początku dnia, tj. o godzinie 00:00, użyj makra @codziennie. To jest równoważne 0 0 * * *.

Możesz umieścić to w pliku Cron w taki sam sposób, jak opisano wcześniej.

W podobny sposób można użyć innych makr, a mianowicie. @cogodzinny (minuta 0 każdej godziny), @miesięczny (00:00 pierwszego dnia miesiąca), @tygodniowo (00:00 pierwszego dnia tygodnia, @rocznie(00:00 pierwszego stycznia każdego roku), @ponowne uruchomienie (przy każdym uruchomieniu komputera).

Wniosek

W tym artykule dowiedzieliśmy się, jak dodać zadania Cron do regularnego wykonywania w systemie Linux. Właściwe korzystanie z Cron Jobs przydaje się nawet w przypadku najbardziej uciążliwych zadań manualnych, z jakimi boryka się użytkownik, np. regularne usuwanie starych logów, archiwizacja wszelkiego rodzaju zimnych danych (dane rzadko dostępne) itp.