Este artigo fala um pouco sobre o cron, uma ferramenta para agendamento de tarefas. O cron é uma ótimo daemon para fazer backup automáticos, agendamento de tarefas diárias, economizando tempo e trabalho repetitivos.
Para rodar numa seqüência de dias do mês às 14:00:
00 14 03-15 * * script
Para rodar ao meio-dia e a meia-noite de terça a sábado:
00 00, 12 * * 2-6 script
Para enviar um e-mail as 20:20 no dia 23/03 para Pedro dizendo "Viva o Linux porque nós amamos a liberdade!":
20 20 23 3 * root echo "Viva o Linux porque nós amamos a liberdade!"|mail Pedro
Conclusão
Com a utilização da ferramenta cron, concluí que no agendamento de tarefas em sistemas Linux/Unix pode ser feito perfeitamente com o comando cron, sendo um ferramenta fácil de implementar. É ótima para fazer backup automáticos, agendamento de tarefas diárias economizando tempo e trabalho repetitivos.
[2] Comentário enviado por rikrdosilveira em 29/03/2008 - 21:54h
foxl, respondendo sua pergunta, o cron é um agendador de tarefas, portando se vc agendar os comando para fazer backup, ele certamente o executará, dependendo é claro das permissões do usuario...
[3] Comentário enviado por removido em 30/03/2008 - 00:13h
cron apenas é um agendador..
utiliza-se o cron para que faça processos automaticos por exemplo.
se voce precisa que todo dia atualize seu apt ou ports, ao invés de você ter que ficar digitando, você adiciona a cron e pronto, o sistema fará isso automaticamente da forma que você especificou.
[6] Comentário enviado por elgio em 01/04/2008 - 10:56h
Teu artigo está muito bem fundamentado e correto.
Só tome cuidado com teus exemplos, pois pequenos descuidos neles podem levar o leitor ao erro.
Como exemplo:
"
Para rodar ao meio-dia e a meia-noite de terça a sábado:
00 00, 12 * * 2-6 script
"
Como tu pos um espaco entre o 00 e a virgula, fizeste uma separacao de campo gerando erro!
Ainda, isto só funcionaria via crontab e não no /etc/crontab, pois no formato /etc/crontab TU PRECISA informar o user que irá executar (não consta no teu exemplo) e via utilitário crontab NÃO, pois valerá o usuário que o executou.
Muitos ainda se atrapalham com a forma do cron. Isto, por exemplo:
* 20 * * * root algo.sh
NÃO IRÁ EXECUTAR as 20h como ingenuamente alguém pode pensar, mas sim em TODOS OS MINUTOS de 20h, ou seja, vai executar as 20:00, novamente as 20:01, 20:02 ... 20:59. Irá executar 60 vezes. MUITO CUIDADO. Já vi muita gente causar estrago com isto. Se é para executar uma vez a cada hora, tu precisa dizer em qual minuto!
Vale dizer ainda que permitir que usuários usem cron ou at pode ser um sério RISCO a segurança. Um usuário mal intencionado pode agendar tarefas futuras, as chamadas bombas relógios.
Os arquivos /etc/cron.allow e /etc/cron.deny regulam quem pode e quem não pode usar o cront (via crontab)
[7] Comentário enviado por Fernando Dantas em 01/07/2009 - 09:38h
Obrigado seu comentário já me ajudou muito, porem estou com uma duvida. Tenho um servidor e gostaria de agendar (cron) o ajuste constante do horário do sistema com o da BIOS (todos os dias, meses).
O comando a ser realizado seria esse.
00 00 * * * root run -hwclock –hctosys
[8] Comentário enviado por luiz cambuca em 22/07/2009 - 21:41h
Estou fazendo um trabalho sobre backups, escrevi pequenos scripts e inseri-os no crontab, funcionaram bem no localhost, porém não estão funcionado remotamente, o estranho é que, se eu executar os comandos diretamente no console, funciona ok, mas no cron não.
Usei duas ferramentas, rsync e scp, funcionaram perfeitamente no console como root, porém no cron, mesmo indicando para usar como root, não executam, existe alguma limitação como relação a backups remotos?
Se alguém puder me responder ficarei grato.