Como o anacron funciona se não é um daemon?

13

Eu estava lendo sobre as diferenças entre cron e anacron e percebi que o anacron, ao contrário do cron, não é um daemon. Então, eu estou me perguntando como isso funciona, na verdade, se não é um daemon.

tgwtdt
fonte

Respostas:

20

Ele usa uma variedade de métodos para executar:

  • se o sistema estiver executando o systemd, ele usa um timer do systemd (no pacote Debian, você o verá /lib/systemd/system/anacron.timer);
  • se o sistema não estiver executando o systemd, ele utilizará uma tarefa cron do sistema (in /etc/cron.d/anacron);
  • em todos os casos, ele executa tarefas cron diárias, semanais e mensais (em /etc/cron.{daily,weekly,monthly}/0anacron );
  • Ele também roda na inicialização (a partir da /etc/init.d/anacronunidade systemd).
Stephen Kitt
fonte
Eu já vi a {a,b,c}notação por aí; posso usar isso no meu shell? (Eu não tenho acesso a ele no momento ou testaria.) Isso significa o que parece - ou seja, todos os arquivos {...}substituídos por qualquer um dos itens separados por vírgula?
Fund Monica's Lawsuit
3
@QPaysTaxes - Bash (e algumas outras conchas) expande chaves dessa maneira - ver manual de Bash Referência: Brace Expansão
shalomb
6

anacronnão é um daemon e, portanto, precisa ser executado periodicamente por outros meios. Na maioria das vezes, isso significa executá-lo com um trabalho cron uma vez por dia e, possivelmente, também na inicialização.

Isso pode se parecer com o seguinte no crontab do root, por exemplo:

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

Os sistemas Linux que usam systemd podem fazer isso de maneira diferente, obviamente, mas ainda precisam facilitar pelo menos uma execução anacronpor período de 24 horas.

A execução de anacronmais de uma vez a cada 24 horas é inútil, pois o menor período em que você pode agendar trabalhos anacroné uma vez por dia.

Kusalananda
fonte
Obrigado. (1) Eu queria saber o que "não é um daemon" significa? (2) em relação à sua última frase: "O timer do systemd executa anacron a cada hora para reduzir o atraso entre retomar um sistema suspenso e a próxima execução anacron
Tim