Zarówno croni anacronsą demony, które można zaplanować wykonywanie powtarzalnych zadań w pewnym momencie w czasie określonym przez użytkownika.
Główna różnica między croni anacronpolega na tym, że ta pierwsza zakłada, że system działa nieprzerwanie. Jeśli twój system jest wyłączony i masz zaplanowane zadanie w tym czasie, zadanie nigdy nie zostanie wykonane.
Z drugiej strony anacronjest „anachroniczny” i jest przeznaczony dla systemów, które nie działają 24x7. Aby działał, anacronużywa plików ze znacznikami czasu, aby dowiedzieć się, kiedy ostatnio wykonywane były jego polecenia. Utrzymuje również plik /etc/anacrontabtak jak cronrobi. Ponadto cron.dailycodziennie uruchamia anakron. Dlatego anacronmoże wykonywać zadanie tylko raz dziennie, ale cronmoże działać tak często, jak co minutę.
Od man anacrontab:
Po uruchomieniu Anacron czyta listę zadań z pliku konfiguracyjnego, zwykle / etc / anacrontab (patrz anacrontab (5)). Ten plik zawiera listę zadań kontrolowanych przez Anacron. Każdy wpis zadania określa okres w dniach, opóźnienie w minutach, unikalny identyfikator zadania i polecenie powłoki.
Dla każdego zadania Anacron sprawdza, czy to zadanie zostało wykonane w ciągu ostatnich n dni, gdzie n jest okresem określonym dla tego zadania. Jeśli nie, Anacron uruchamia polecenie powłoki zadania po odczekaniu liczby minut określonej jako parametr opóźnienia.
Po wyjściu polecenia Anacron zapisuje datę w specjalnym pliku znacznika czasu dla tego zadania, dzięki czemu może wiedzieć, kiedy wykonać go ponownie. Do obliczeń czasu używana jest tylko data. Godzina nie jest używana.
Oznacza to, że jeśli zaplanowane jest codzienne uruchamianie zadania, a komputer został wyłączony w tym czasie, podczas uruchamiania anakronu może zobaczyć, że zadanie zostało ostatnio uruchomione ponad 24 godziny temu i poprawnie wykonać zadanie.
Na przykład, jeśli określisz w /etc/anacrontab:
7 15 test.daily /bin/sh /home/username/script.sh
a w dniu, w którym script.shzadanie ma zostać wykonane, jeśli system nie działa, anacronwykona się script.sh15 minut po ponownym uruchomieniu systemu.
Kilka referencji: