CRON e CRONTAB: um pouco de teoria, uso e exemplos

"Cron" ou "Cron job" são tarefas agendadas para execução automática. Veremos aqui como agendar tarefas no Linux e quais os recursos disponíveis no Linux para ajudar nesse objetivo.

[ Hits: 37.773 ]

Por: Francisco Jose Lopes em 11/08/2017 | Blog: http://bladochico.qaplaweb.com.br


Exemplos



Aqui estão alguns exemplos de linhas de crontab. Use o comando "crontab -e" para editar seu arquivo crontab.

Esta linha de crontab executa o comando "ping" a cada minuto de cada hora de cada dia de cada mês. A saída padrão é redirecionada para /dev/null, então não receberemos e-mail, mas permitiremos que o erro padrão seja enviado como um e-mail. Se você não quer e-mail algum, altere a linha de comando para "/sbin/ping -c 1 192.168.0.1 > /dev/null 2> & 1".

* * * * * /sbin/ping -c 1 192.168.0.1 > /dev/null

Esta linha executa o comando "ping" e "ls" às 0 e às 12 horas no 1º dia de cada bimestre. Ele também coloca a saída dos comandos no arquivo de log /var/log/cronrun cumulativamente.

0 0,12 1 */2 * /sbin/ping -c 192.168.0.1; ls -la >> /var/log/cronrun

Esta linha executa o comando de relatório de uso do disco (du) para obter o tamanho do diretório a cada 2 horas do dia 1 ao 10 de cada mês. O e-mail é enviado para os endereços de e-mail especificados com a linha MAILTO. O PATH também está definido para algo diferente do padrão.

PATH = /usr/local/sbin:/usr/local/bin:/home/user1/bin
MAILTO = user1@nowhere.org, user2@somewhere.org
0 2 1-10 * * du -h --max-depth = 1 /

Esta linha exemplifica como executar um trabalho em cron todos os meses às 4h das segundas-feiras além de nos dias entre 15 e 21 (15, 16, 17, 18, 19, 20, e 21). Isso ocorre porque usar os campos do 'dia do mês' e 'dia da semana' com restrição (diferentes de *) tornam esta, uma condição "or", não uma condição "and". Assim, ambas as restrições serão executadas.

0 4 15-21 * 1 /comando

Esta linha exemplifica como executar em cada segundo domingo de cada mês. O comando de verificação (test) deve ser usado devido à característica (ou 'problema') mencionada no exemplo anterior.

0 4 8-14 * * test $(data +\%u) -eq 7 && echo "Segundo Domingo"

Página anterior     Próxima página

Páginas do artigo
   1. O cron
   2. O comando crontab
   3. Formato de linha da tabela cron (ou crontab)
   4. Exemplos
   5. Pegadinhas, ou "coisas para verificar" quando em apuros
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Monitorando No-Break no Ubuntu 12.04

Instalando o Lazarus no Slackware

Timezones - Uma questão de ponto de vista

Run0 - Elevação de privilégios com systemd

OpenSUSE Internet Installation

  
Comentários
[1] Comentário enviado por demoncyber em 24/08/2017 - 10:33h

Olá,

Parabéns pelo texto, bem redigido e completo sobre o tema, digo isto com referência de caso por ter lido vários livros sobre GNU/Linux, e a questão das muitas referências só elucidam a qualidade do trabalho. Passei o texto para alguns colegas que estão iniciando e não conhecem com profundidade no assunto.

Espero que venham novos bons textos.

Abraços

[2] Comentário enviado por cleysinhonv em 05/09/2017 - 10:53h

Um artigo bem escrito e muito útil. Tive muito sucesso usando cron em sistemas de data warehouse. Uma ferramenta simples e poderosa.

[3] Comentário enviado por QAPLA em 22/09/2017 - 11:21h


[1] Comentário enviado por demoncyber em 24/08/2017 - 10:33h

Olá,

Parabéns pelo texto, bem redigido e completo sobre o tema, digo isto com referência de caso por ter lido vários livros sobre GNU/Linux, e a questão das muitas referências só elucidam a qualidade do trabalho. Passei o texto para alguns colegas que estão iniciando e não conhecem com profundidade no assunto.

Espero que venham novos bons textos.

Abraços


Obrigado pelas palavras, são grande incentivo para continuar e saber a direção para caminhar. Espero conseguir contribuir muito mais em breve.

Forte abraço

[4] Comentário enviado por QAPLA em 22/09/2017 - 11:25h


[2] Comentário enviado por cleysinhonv em 05/09/2017 - 10:53h

Um artigo bem escrito e muito útil. Tive muito sucesso usando cron em sistemas de data warehouse. Uma ferramenta simples e poderosa.


Obrigado, realmente CRON vem sendo o esteio de nossa produção em escala na empresa.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts