Responda suas perguntas em sequência:
-
O intervalo será perdido se
anacron
não for invocado durante o mesmo. Não seria invocado se não estivesse programado ou se a máquina não estivesse em execução no momento em que seria invocada. Isso tem menos a ver com clocks e mais a respeito secron
foi executado para executaranacron
ou não. -
Quando
cron
(ou um administrador) chamaanacron
, ele executará cada trabalho agendado, se necessário, ou seja, se o trabalho foi executado pela última vez mais do que o número de dias especificado no arquivoanacrontab
. Seanacron
não for chamado, ele não executará nenhum trabalho agendado. Seanacron
é executado na inicialização do sistema depende da configuração local. -
Se
anacron
for chamado, por exemplo, por meio de um trabalhocron
, ele analisará a hora atual do sistema e comparará isso com seus arquivos de estado salvos para cada trabalho. Se essa diferença de horário for maior do que o arquivo de configuraçãoanacrontab
especifica para um trabalho,anacron
executará esse trabalho.
Todas as três respostas são essencialmente as mesmas. anacron
executará um trabalho a partir de seu anacrontab
se as condições estiverem corretas (o trabalho não foi executado por um determinado período de tempo). anacron
é geralmente iniciado por um trabalho cron
. Isso pode ser um trabalho que é executado na inicialização do sistema e a cada meia-noite ou em outro horário (provavelmente uma vez por dia). Os Linuxes que usam systemd
podem invocar anacron
de forma diferente. Se anacron
não for executado, obviamente não fará nada.
Se o relógio do sistema não estiver configurado corretamente, isso poderá influenciar se um trabalho será executado ou não, dependendo de quanto o relógio está errado no momento da execução de anacron
e quando o trabalho foi executado pela última vez.