W Poprzedni artykuł Opowiadałem ci o cronie, programie systemowym, który automatycznie uruchamia zadania o określonej porze. Teraz pokażemy, jak automatyzować zadania za pomocą Anacrona. Anacron pozwala nam pokonać jedną ze słabości Crona. Jeśli komputer jest wyłączony w momencie, gdy zadanie miało zostać wykonane, nie zostanie ono wykonane ponownie aż do następnej pory roku, gdy komputer będzie włączony.
W przypadku Anacrona, Po ponownym włączeniu komputer wykonuje pozostawione zadania.
Jak automatyzować zadania za pomocą Anacron
Po uruchomieniu komputera Anacron sprawdza, kiedy ostatnio wykonano daną instrukcję i jak często wydano polecenie jej wykonania. Podobnie jak w przypadku Crona, lista zadań do wykonania jest zapisywana w pliku tekstowym o mało oryginalnej nazwie anacrontab. Ale jest ważna różnica, W tym przypadku datę ustala się poprzez podanie dnia, opóźnienia w minutach, identyfikatora zadania oraz polecenia, które ma zostać wykonane.
Anacron sprawdza dla każdego zadania, czy zostało ono wykonane w ciągu określonej liczby dni. Ta liczba dni stanowi okres określony dla tego zadania. Jeżeli nie zostało to zrobione, Anacron czeka wymaganą liczbę minut i uruchamia się. Następnie zapisz datę, która będzie wskazówką, kiedy należy przeprowadzić badanie ponownie.
Anacrona możemy znaleźć po nazwie lub w pakiecie cronie w głównych dystrybucjach.
Aby go uruchomić musimy określić następujące parametry:
-FA: Wykonanie zadania nawet jeśli nie przypada ono na wskazany termin.
-w: Zmienia datę zadań na dzień bieżący, ale ich nie wykonuje.
-S: Oznacza, że zadanie zostanie wykonane po zakończeniu poprzedniego.
-N: To tak jakby użyć parametrów -fy
-Q: Użycie opcji -d zapobiega wyświetlaniu komunikatów o błędach.
-T: Informuje program Anacron, gdzie znaleźć listę zadań.
-T: Sprawdza ustawienia listy zadań i w razie potrzeby wyświetla komunikat o błędzie.
-S Określa katalog, w którym przechowywane są znaczniki czasu.
W pliku Anacrontab musimy dodać następujące parametry
POWŁOKA=/bin/bash: Określa, że Bash powinien być używany jako interpretator poleceń.
POCZTA= Po znaku równości podajemy adres e-mail, na który ma zostać wysłany raport o błędzie. Chociaż w dystrybucjach desktopowych nie jest to konieczne.
ŚCIEŻKA=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin: Dzięki temu nie musimy dodawać trasy do każdego zadania.
Składnia zadania Anacrontab jest następująca: polecenie period delay job id, gdzie:
okres: Jest to częstotliwość, z jaką praca musi być wykonywana. Można go oznaczyć jako okres (@daily, @weekly lub @monthly dla dnia, tygodnia lub miesiąca) lub za pomocą liczb (1 dla dnia, 7 dla tygodnia, 30 dla miesiąca i dowolna liczba dla dowolnego okresu dni).
Opóźnienie: Jest to czas oczekiwania przed rozpoczęciem. Wyraża się w minutach
Numer oferty: Jest to nazwa nadana zadaniu, która ma na celu odróżnienie go od innych zadań.
Polecenie: Jest to polecenie, które anacron musi uruchomić o określonej porze.
Musimy również utworzyć katalog, w którym będziemy uruchamiać różne zadania.
mkdir -p ~/.local/etc/anacrontab: ~/.local/etc/cron.daily ~/.local/etc/cron.weekly ~/.local/etc/cron.daily ~/.var/spool/anacron
Tworzy to katalogi, w których będą zapisywane skrypty wykonywania dziennego, tygodniowego i miesięcznego, a także raport z ostatniego wykonania Anacrona.
Aby polecić mu korzystanie z tych folderów:
anacron -fn -t ~/.local/etc/anacrontab -S ~/.var/spool/anacron
Edytujemy plik konfiguracyjny z poziomu terminala
nano ~/.local/etc/anacrontab
Dodajemy te linie:
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
Można skonfigurować dwie inne zmienne
START_HOURS_RANGE: Określa, że zadania powinny rozpocząć się dopiero w określonych ramach czasowych.
RANDOM_DELAY: Ustawia maksymalne losowe opóźnienie
W ten sposób kończymy nasz krótki przegląd dwóch przydatnych narzędzi wiersza poleceń służących do automatyzacji zadań na naszych komputerach. W kolejnych artykułach zobaczymy, że istnieją aplikacje graficzne, które również pozwalają nam na to samo.