Agendando tarefas com o crontab
Muitas vezes precisamos agendar tarefas que usamos regularmente para uma execução automática e para isso o cron é uma ótima solução. Com ele você pode agendar tarefas com data e hora marcadas, confira como nesse artigo.
Parte 2: Entendendo o agendamento
Ao executar o comando "crontab -e", seu editor de texto abrirá
(provavelmente o vi) e aí você já poderá começar a
agendar suas tarefas. Vejamos a estrutura abaixo:
Minuto Hora Dia do mês Mês Dia da Semana Comando
Essa é a ordem em que as informações devem ser inseridas.
Exemplo:
Minuto Hora Dia do mês Mês Dia da Semana Comando
Essa é a ordem em que as informações devem ser inseridas.
Exemplo:
30 14 5 * * tar zcvf /bkp.tar.gz /etc
No exemplo acima ficará agendado para todo dia 5 de todo mês às 14:30 o comando "tar zcvf /bkp.tar.gz /etc".
Os campos e seus valores:
| Campo | Valores |
| Minuto | 0-59 |
| Hora | 0-23 |
| Dia do Mês | 1-31 |
| Mês | 1-12 |
| Dia da Semana | 0-6 ( 0=domingo, 1=segunda etc.) |
Sendo o "*" correspondente a todas as possibilidades.
Tendo como base os conceitos acima, agendaremos um comando para listar o conteúdo de um certo diretório de 2 em 2 minutos, somente de Segunda à Sexta.
$ crontab -e
*/2 * * * 1-5 ls -lah
OBS: Não esqueça de salvar o arquivo (no caso do "vi" use o ESC e depois :x para salvar e sair).
Para passar mais de um valor a qualquer campo utilize a "," (vírgula). Confira:
$ crontab -e
10,30,45 19 1,15 * * tar zcvf /bkp.tar.gz /etc
O comando acima executará o comando "tar zcvf /bkp.tar.gz /etc" todos os dias 1 e 15 do mês às 19:10, 19:30 e 19:45h.
Para listar as tarefas agendadas execute:
$ crontab -l
Para apagar todo o conteúdo agendado execute:
$ crontab -d
Espero que tenha ajudado.
Abraços e até a próxima!
Parabens!