Jak działa anakron, jeśli nie jest demonem?

13

Czytałem o różnicach między cronem i anacronem i zdałem sobie sprawę, że anacron, w przeciwieństwie do crona, nie jest demonem. Zastanawiam się więc, jak to właściwie działa, jeśli nie jest demonem.

tgwtdt
źródło

Odpowiedzi:

20

Korzysta z różnych metod uruchamiania:

  • jeśli system działa systemd, używa systemowego timera (w pakiecie Debian, zobaczysz go /lib/systemd/system/anacron.timer);
  • jeśli system nie działa systemd, używa systemowego zadania cron (in /etc/cron.d/anacron);
  • we wszystkich przypadkach działa dzienne, tygodniowe i miesięczne zadania cron (in /etc/cron.{daily,weekly,monthly}/0anacron);
  • działa również przy rozruchu (z /etc/init.d/anacronlub jednostki systemowej).
Stephen Kitt
źródło
Widziałem {a,b,c}notację wokół; czy mogę tego użyć w mojej powłoce? (Obecnie nie mam do niego dostępu lub przetestowałbym.) Czy to oznacza, jak się wydaje - to znaczy wszystkie pliki, które zostały {...}zastąpione dowolnymi elementami oddzielonymi przecinkami?
pozew funduszu Moniki,
3
@QPaysTaxes - Bash (i kilka innych powłok) rozszerza nawiasy klamrowe w ten sposób - zobacz Podręcznik Bash Reference: Brace Expansion
shalomb
6

anacronnie jest demonem i dlatego musi być uruchamiany okresowo w inny sposób. Najczęściej oznacza to wykonywanie go z zadaniem cron raz dziennie, a być może także podczas uruchamiania.

Może to wyglądać następująco w crontabie roota, na przykład:

@reboot /usr/local/sbin/anacron -ds
@daily  /usr/local/sbin/anacron -ds

Systemy Linux, które używają systemd, mogą oczywiście robić to inaczej, ale nadal muszą ułatwiać co najmniej jeden cykl w anacronciągu 24 godzin.

Uruchamianie anacronwięcej niż raz na 24 godziny jest bezcelowe, ponieważ najkrótszy okres, w którym można zaplanować zadania, anacronto raz dziennie.

Kusalananda
źródło
Dzięki. (1) Zastanawiałem się, co znaczy „nie demon”? (2) w odniesieniu do ostatniego zdania: „Ustawiony zegar uruchamia anakron co godzinę, aby zmniejszyć opóźnienie między wznowieniem zawieszenia systemu a następnym uruchomieniem anakronu
Tim