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.