Cron vs Anacron Jak planować zadania za pomocą Anacron w Linux

Cron vs Anacron Jak planować zadania za pomocą Anacron w Linux

W tym artykule wyjaśnimy Cron I Anacron a także pokazuje, jak skonfigurować Anacron na Linux. Będziemy również omawiać porównanie tych dwóch narzędzi.

Aby zaplanować zadanie podane lub później, możesz użyć 'Na' Lub 'seria„Polecenia i skonfigurowanie poleceń do wielokrotnego uruchomienia, możesz zastosować Cron I Anacron udogodnienia.

Cron - to demon używany do wykonywania zaplanowanych zadań, takich jak kopie zapasowe systemu, aktualizacje i wiele innych. Nadaje się do uruchamiania zaplanowanych zadań na maszynach, które będą działać stale 24x7, takie jak serwery.

Polecenia/zadania są skoncentrowane na zadaniach CRON, które są zaplanowane w plikach crontab. Domyślny plik crontab systemu to /etc/crontab, Ale każdy użytkownik może również utworzyć swój własny plik crontab, który może uruchamiać polecenia czasami, które definiuje użytkownik.

Aby utworzyć osobisty plik crontab, po prostu wpisz następujące:

$ crontab -e 

Jak skonfigurować Anacron w Linux

Anacron jest używany do okresowego uruchamiania poleceń z częstotliwością zdefiniowaną w ciągu dnia. Działa trochę inaczej niż Cron; zakłada, że ​​maszyna nie będzie zasilana przez cały czas.

Jest odpowiedni do codziennego, tygodniowego i miesięcznego zaplanowanych miejsc pracy zwykle prowadzonych przez Cron, na maszynach, które nie będą działać 24-7, takie jak laptopy i komputery stacjonarne.

Zakładając, że masz zaplanowane zadanie (takie jak skrypt kopii zapasowej) Aby być uruchamiając Cron co północy, być może podczas śpiącego, a na pulpicie/laptop. Twój skrypt kopii zapasowej nie zostanie wykonany.

Jeśli jednak używasz Anacron, Możesz mieć pewność, że następnym razem, gdy ponownie zasilisz na komputerze/laptopie, skrypt kopii zapasowej zostanie wykonany.

Jak działa Anacron w Linux

Anacron zadania są wymienione w /etc/anacrontab a zadania można zaplanować przy użyciu poniższego formatu (komentarze w pliku Anacrontab muszą się rozpocząć od #).

Opóźnienie okresu Dowództwo identyfikatora pracy 

Z powyższego formatu:

  • okres - Jest to częstotliwość wykonywania zadań określonych w dniach lub jako @Daily, @Weekly lub @Monthly na raz dziennie, tydzień lub miesiąc. Możesz także używać liczb: 1 - codziennie, 7 - tygodniowo, 30 - miesięcznie i n - liczba dni.
  • opóźnienie - To liczba minut, aby czekać przed wykonaniem pracy.
  • Job-ID - To charakterystyczna nazwa zadania zapisanego w plikach dziennika.

Aby wyświetlić przykładowe pliki, wpisz:

$ ls -l/var/szpula/anacron/ Razem 12 -RW ------- 1 korzeń root 9 czerwca 1 10:25 Cron.Codziennie -Rw ------- 1 korzeń korzenia 9 maja 27 11:01 Cron.Miesięczne -Rw ------- 1 Root 9 maja 30 10:28 Cron.co tydzień 
  • Komenda - To jest wykonanie polecenia lub skromnego skryptu.
To właśnie dzieje się:
  • Anacron sprawdzi, czy zadanie zostało wykonane w określonym okresie w polu okresu. Jeśli nie, wykonuje polecenie określone w polu polecenia po oczekiwaniu liczby minut określonych w polu opóźnienia.
  • Po wykonaniu zadania rejestruje datę w pliku znaczników czasu w /var/szpula/anacron katalog o nazwie określonej w polu JOB-ID (nazwa pliku znacznika czasu).

Spójrzmy teraz na przykład. To będzie działać /home/aaronkilik/bin/backup.cii Skrypt codziennie:

@Daily 10 Przykład.Daily/Bin/Bash/Home/Aaronkilik/Bin/Backup.cii 

Jeśli maszyna jest wyłączona, gdy kopia zapasowa.cii Oczekuje się, że praca będzie działać, Anacron uruchomi go 10 minut po zasilaniu maszyny bez konieczności czekania na kolejne 7 dni.

Istnieją dwie ważne zmienne w pliku Anacrontab, które powinieneś zrozumieć:

  • Start_hours_range - To ustanawia zakres czasu, w którym zostaną uruchomione (i.E wykonuje zadania tylko w następnych godzinach).
  • Random_delay - To określa maksymalne losowe opóźnienie dodane do zdefiniowanego przez użytkownika opóźnienie zadania (domyślnie to 45).

Tak wyglądałby twój plik anacrontab.

Plik anacron - /etc /anacrontab
# /etc /anacrontab: Plik konfiguracyjny dla Anacron # patrz Anacron (8) i Anacrontab (5). Shell =/bin/sh ścieżka =/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin home =/root logname = root # # zastępują wpisy Cron 1 5 Cron.Codzienne części rundy-raport /etc /cron.Codziennie 7 10 Cron.Cotygodniowe części run-Report /Etc /Cron.Weekly @Monthly 15 Cron.Miesięczne części run-Report /Etc /Cron.Przykład miesięczny @Daily 10.Daily/Bin/Bash/Home/Aaronkilik/Bin/Backup.cii 

Poniżej znajduje się porównanie Cron I Anacron Aby pomóc ci zrozumieć, kiedy użyć jednego z nich.

Cron Anacron
To demon To nie jest demon
Odpowiednie dla maszyn serwerowych Odpowiednie dla komputerów stacjonarnych/laptopów
Umożliwia uruchamianie planowanych miejsc pracy co minutę Umożliwia tylko codzienne uruchamianie zaplanowanych miejsc pracy
Nie wykonał zaplanowanego zadania, gdy urządzenie się wyłącza Jeśli urządzenie, jeśli jest wyłączone, gdy zostanie zaplanowane zadanie, wykona zaplanowane zadanie, gdy maszyna jest zasilana następnym razem
Mogą być używane zarówno przez normalnych użytkowników, jak i root Może być używane tylko przez root, chyba że inaczej (włączone dla normalnych użytkowników z określonymi konfiguracjami)

Główna różnica między Cron I Anacron czy to Cron działa skutecznie na maszynach, które będą działać ciągle, podczas gdy Anacron jest przeznaczony na maszyny, które będą zasilane w ciągu dnia lub tygodnia.

Jeśli znasz inny sposób, podziel się z nami, korzystając z poniższego formularza komentarza.