Basicamente, sem mistérios ou rodeios, você usa o cron quando há certeza de que o sistema estará no ar no momento em que a rotina tiver que ser executada – como é o caso de servidores -, e o Anacron quando este requisito não pode ser garantido para que a tarefa seja iniciada tão logo seja possível – como é o caso de Desktops e notebooks.
Indo direto ao assunto. Há três diferenças entre ambas as ferramentas e que devem ser observadas:
- Ao contrário do Cron que cada usuário pode ter sua tabela de agendamentos, no Anacron somente o administrador (root) pode incluir tarefas;
- Enquanto no Cron você tem uma granularidade de até 1 minuto, no Anacron, por falta de garantia quanto ao horário que a rotina será executada, a sua granularidade é de no mínimo 1 dia;
- Os arquivos de configuração, embora tenham os nomes levemente parecidos, seus parâmetros são relativamente distintos
Veja a diferença de uma rotina agendada no cron (/etc/crontab) e depois a mesma rotina no Anacron (/etc/anacrontab).
#mi ho dm me ds usu comando * * * * 1 root /usr/local/bin/backup_home
Neste exemplo, o cron iniciará o script “backup_home” todos os domingos (ds=1) pelo usuário “root” – caso a máquina esteja ligada.
#pe at nome comando 7 10 backup /usr/local/bin/backup_home
Enquanto que neste daqui, o Anacron iniciará o mesmo script a cada sete dias, ou se isso não for possível, 10 minutos após o sistema estar pronto a qualquer dia.
Referências
Cron Vs Anacron: How to Setup Anacron on Linux (With an Example)
http://linux.die.net/man/8/anacron
http://linux.die.net/man/5/anacrontab
https://en.wikipedia.org/wiki/Anacron