Artigo extra?do do site br-linux.org
Agendamento de tarefas com o cron e as crontabs
Esta ? uma reedi??o do artigo de Marcelo Araujo ([email protected]) que publiquei originalmente em 1999, explicando como usar os recursos do cron para agendar a execu??o futura ou peri?dica de comandos no Linux.
Agendamento de tarefas com o cron e as crontabs
Esta ? uma republica??o do artigo publicado originalmente em 1999 aqui no br-linux.org
cron e crontab
O cron ? um recurso padr?o do Unix (e do Linux) que permite o agendamento de tarefas para serem executadas em um momento espec?fico, ou em intervalos regulares. Por exemplo, voc? pode programar as tabelas do cron (as chamadas 'crontabs') para:
- checar a integridade dos sistemas de arquivo todos os dias as 5:00 AM e mandar mail do resultado para o root;
- verificar se h? mail em suas contas pop a cada 15 minutos
- rodar o updatedb todos os dias ?s 00:30
- todas as quintas-feiras, ?s 3:00 AM, procurar por arquivos core desnecess?rios e exclu?-los
- e muito mais
A administra??o do cron para usu?rios pode envolver alguns cuidados adicionais, que uma boa leitura na documenta??o do seu sistema. Mas o leitor Marcelo Araujo ([email protected]) resolveu facilitar a nossa vida, enviando algumas dicas sobre a inclus?o de tarefas nas tabelas do cron. A base do texto a seguir ? do Marcelo, com complementos aqui e ali.
Entendendo o crontab
Veja este exemplo de linha do crontab:
0,15,30,45 * * * * /bin/netstat -a | /bin/mail root
Essa linha de comando ira fazer que a cada 15 minutos, o netstat -a seja executado e o resultado do mesmo v? para o mail root.
O formato da linha de defini??o de tarefa do cron ?:
minuto hora dia-do-m?s m?s dia-semana comando
Agora, como fazer para editar as suas crontabs? ? simples... Em primeiro lugar decida qual editor de texto que voc? quer usar. Eu prefiro o pico com a op??o -w (para evitar wordwraps). Portanto, terei que usar o
comando export EDITOR="pico -w"
Para entrar no modo de edi??o da crontab, ap?s selecionar o editor de texto, basta digitar crontab -e e editar linhas como as do exemplo:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
0,15,30,45 * * * * /bin/netstat -a | /bin/mail root
15 21 * * * /usr/bin/updatedb
# isto ? um coment?rio
As tr?s primeiras linhas definem a shell que vai ser usada pelos scripts, o path de procura de comandos, e o usu?rio que vai receber mails em caso de erros. A quarta linha define que aos 0, 15, 30 e 45 minutos de todas as horas, em todos os dias do m?s, todos os meses e todos os dias da semana, vai ser executado o comando /bin/netstat -a | /bin/mail root. A quinta linha define que ?s 21:15 de todos os dias ser? executado o /usr/bin/updatedb.
Voc? pode adicionar e remover entradas no cron ? vontade. Linhas quebcome?arem com um sinal de "#" n?o s?o consideradas, e voc? pode us?-las para desativar temporariamente comandos, ou para acrescentar coment?rios.
Para listar o conte?do de sua crontab, use crontab -l. Para remov?-la completamente, use crontab -u. Para maiores informa??es sobre o cron, use man 8 cron, man 1 crontab e man 5 crontab
Agendamento de tarefas com o cron e as crontabs
Esta ? uma reedi??o do artigo de Marcelo Araujo ([email protected]) que publiquei originalmente em 1999, explicando como usar os recursos do cron para agendar a execu??o futura ou peri?dica de comandos no Linux.
Agendamento de tarefas com o cron e as crontabs
Esta ? uma republica??o do artigo publicado originalmente em 1999 aqui no br-linux.org
cron e crontab
O cron ? um recurso padr?o do Unix (e do Linux) que permite o agendamento de tarefas para serem executadas em um momento espec?fico, ou em intervalos regulares. Por exemplo, voc? pode programar as tabelas do cron (as chamadas 'crontabs') para:
- checar a integridade dos sistemas de arquivo todos os dias as 5:00 AM e mandar mail do resultado para o root;
- verificar se h? mail em suas contas pop a cada 15 minutos
- rodar o updatedb todos os dias ?s 00:30
- todas as quintas-feiras, ?s 3:00 AM, procurar por arquivos core desnecess?rios e exclu?-los
- e muito mais
A administra??o do cron para usu?rios pode envolver alguns cuidados adicionais, que uma boa leitura na documenta??o do seu sistema. Mas o leitor Marcelo Araujo ([email protected]) resolveu facilitar a nossa vida, enviando algumas dicas sobre a inclus?o de tarefas nas tabelas do cron. A base do texto a seguir ? do Marcelo, com complementos aqui e ali.
Entendendo o crontab
Veja este exemplo de linha do crontab:
0,15,30,45 * * * * /bin/netstat -a | /bin/mail root
Essa linha de comando ira fazer que a cada 15 minutos, o netstat -a seja executado e o resultado do mesmo v? para o mail root.
O formato da linha de defini??o de tarefa do cron ?:
minuto hora dia-do-m?s m?s dia-semana comando
Agora, como fazer para editar as suas crontabs? ? simples... Em primeiro lugar decida qual editor de texto que voc? quer usar. Eu prefiro o pico com a op??o -w (para evitar wordwraps). Portanto, terei que usar o
comando export EDITOR="pico -w"
Para entrar no modo de edi??o da crontab, ap?s selecionar o editor de texto, basta digitar crontab -e e editar linhas como as do exemplo:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
0,15,30,45 * * * * /bin/netstat -a | /bin/mail root
15 21 * * * /usr/bin/updatedb
# isto ? um coment?rio
As tr?s primeiras linhas definem a shell que vai ser usada pelos scripts, o path de procura de comandos, e o usu?rio que vai receber mails em caso de erros. A quarta linha define que aos 0, 15, 30 e 45 minutos de todas as horas, em todos os dias do m?s, todos os meses e todos os dias da semana, vai ser executado o comando /bin/netstat -a | /bin/mail root. A quinta linha define que ?s 21:15 de todos os dias ser? executado o /usr/bin/updatedb.
Voc? pode adicionar e remover entradas no cron ? vontade. Linhas quebcome?arem com um sinal de "#" n?o s?o consideradas, e voc? pode us?-las para desativar temporariamente comandos, ou para acrescentar coment?rios.
Para listar o conte?do de sua crontab, use crontab -l. Para remov?-la completamente, use crontab -u. Para maiores informa??es sobre o cron, use man 8 cron, man 1 crontab e man 5 crontab
Seja Membro Gratuítamente
Assine a newsletter para receber em seu email as publicações atualizadas neste blog