O anacron executa um trabalho se não tiver sido executado no período definido. Assim, um trabalho que é definido como sendo executado a cada sete dias será executado se não tiver sido executado nos últimos sete dias. O anacron calcula isso apenas observando os dias de calendário: ele carrega o timestamp da última execução, calcula o “número do dia” atual e subtrai os dois.
-
O anacron atualiza os registros de data e hora após a execução das tarefas, de modo que usa a data de término como o início do período durante o qual o trabalho correspondente não deve ser executado novamente. O cron compara apenas a data e a hora atuais com um determinado especificador inicial, portanto, sim, considera apenas os horários de início.
-
Diariamente significa que a última vez que um trabalho foi executado deve ser ontem ou anterior. Semanalmente significa que a última vez que um trabalho foi executado deve ser há 7 dias ou mais cedo. Mensalmente é um pouco diferente; significa que a última vez que um trabalho foi executado deve ser n dias atrás ou anterior, em que n é o número de dias no mês anterior, com um desvio quando o número de dias decorridos é exatamente igual ao número de dias no mês atual.
Dados seus exemplos:
- um trabalho diário terminando às 11h ou às 5h de hoje funcionará novamente amanhã;
- um trabalho diário terminando às 3h de amanhã será executado novamente depois de amanhã.