Entendendo o CRON

terça-feira, 25 de maio de 2010

No Linux, o comando crontab é usado para agendar a execução de comandos em determinados intervalos de tempo seja horária, diária, mensal ou qualquer quantidade x de minutos. Este artigo foi projetado para lhe mostrar o caminho simples de entender o crontab.


Para começar execute o comando #crontab -e, provavelmente irá abrir em um editor de textos simples (vi).

A órdem dos campos deve ser como descrito abaixo:

Minuto | Hora | Dia-do-mês | Mês | Dia-da-Semana | Comando

Ex.: 30 14 5 * * tar zcvf /bkp.tar.gz /etc

Vemos que no exemplo acima, ficará agendao para todo dia 5 de todo mês às 14:30 o comando “tar zcvf /bkp.tar.gz /etc”.

Agora vamos entender os campos
Campos:

Minuto ( Usa-se valores que vão de 0-60 )

Hora ( Usa-se valores que vão de 0-23 )

Dia do Mês ( Usa-se valores que vão de 1-31 )

Mês ( Usa-se valores que vão de 1-12 )

Dia da Semana ( Usa-se valores que vão de 0-6. Onde 0 = domingo, 1 = segunda, etc. )

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

0, 15, 30, 45 * * * * /bin/netstat -a

O comando acima ira fazer que a cada 15 minutos, o netstat -a seja executado

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

0 comentários:

Postar um comentário

 
Sistemas para Internet ©2010