Agendando tarefas no Linux utilizando o cron e crontab – Blog do Eduardo H. Rizo
Início › Redes de Computadores › Gerenciamento de Servidores › Agendando tarefas no Linux utilizando o cron e crontab
Agendando tarefas no Linux utilizando o cron e crontab
Posted on 14/04/2011 by ehrizo	Publicado em Gerenciamento de Servidores, Linux	— Seja Você o Primeiro a Comentar! ↓
Quando administramos servidores, sejam eles Windows ou Linux, quase sempre temos necessidade de repetir sistematicamente algumas tarefas para que nosso ambiente se mantenha operacional ou mesmo produza algum tipo de informação que desejamos. Como exemplo, posso citar o agendamento da execução diária de rotinas de backup, execução de programas para sintetizar informações oriundas de logs de servidores web (http server), chamada a um script que dispara e-mails aos aniversariantes do dia, "limpeza" em determinados diretórios do servidor, etc…
Tanto no sistema operacional Linux quanto no Windows Server, há ferramentas para realizar o agendamento de tarefas, porém, focando apenas no Linux, podemos contar com o serviço cron e sua tabela de agendamentos conhecida como crontab.
cron: Serviço do Linux responsável pelo agendamento de comandos a serem executados em uma determinada data, hora ou intervalo de tempo.
crontab: É uma espécie de tabela onde se armazena os agendamentos realizados por cada usuário, sendo que desta forma, o serviço cron realiza leituras nessas tabelas para verificar os comandos agendados e posteriormente executá-los.
O arquivo crontab pode estar localizado no diretório /etc ou então no /var/spool/cron quando é o caso de existir um arquivo para cada usuário (essa informação pode ser diferente dependendo da distribuição Linux que você estiver utilizando).
Como realizar agendamentos?
Para realizar o agendamento de tarefas, basta editar o arquivo crontab com quaisquer editores de texto, como por exemplo, o vi ou o pico. Você também pode utilizar o comando crontab -e para editar o arquivo correspondente ao usuário com o qual você está "logado" no sistema.
Lembre-se de reinicializar o daemon crond para que o serviço cron possa conhecer as alterações de agendamento.
Estrutura de um arquivo crontab
Um arquivo crontab deve respeitar a seguinte sequencia para cada agendamento que se deseja realizar:
<minuto> <hora> <dias do mês> <mês> <dias da semana> <usuário> <comando>
<minuto>: número entre 0 e 59;
<hora>: número entre 0 e 23;
<dias do mês>: números entre 1 e 31 (quando quiser informar mais de um, separe por vírgula);
<mês>: número entre 1 e 12;
<dias da semana>: números entre 0 e 6 (quando quiser informar mais de um, separe por vírgula);
<usuário>: usuário com o qual o sistema deve executar o comando agendado, não sendo necessário para o caso de utilizar o próprio arquivo crontab do usuário;