Como utilizar o cron
O agendamento das tarefas é feita através do arquivo de configuração localizado no diretório /etc/crontab ou em arquivos de usuários localizados em /var/spool/cron/crontabs/[nome do usuário].
Algumas distribuições do Linux possui algumas funções diretamentes ligadas a Cron como exemplo abaixo:
crontab [-u nome_usuarior] [ -e | -l | -r ]
-e (Edita Crontab do Usuario especificado)
-l (Lista a Crontab do Usuario especificado)
-r (Exclui os agendamentos da Crontab do Usuario especificado)
Para quem não conseguiu entender o parametro acima, imagine que voce tenha uma estação de trabalho Windows com diversos usuarios cada usuario tem uma tarefa agendada, seria o mesmo conceito no Linux porem mais dinamico...
Para adicionar uma tarefa ao cron é preciso que você apenas digite o comando abra com um editor de texto qualquer (se estiver usando interface gráfica Gnome, e se tiver instalado, poderá utilizar o gedit, ou se e estiver em moda caracter o vim ,vim, nano, pipe como preferir) o arquivo /etc/crontab e agendar, definindo o mês/dia/hora em que o comando devera ser executado. Para que a ferramenta cron funcione não é necessário reiniciá-la.
Para que o agendamento funcione é necessário que siga um padrão, um formato ao qual deve se respeitar. Veja o exemplo abaixo:
[minutos] [horas] [dias do mês] [mês] [dias da semana] [usuário] [comando]
31 18 1 * * root /script/nomescript | | | | | | | | | | | | | \_Comando que será executado | | | | | | | | | | | \_ UID que executará o comando | | | | | | | | | \_ Dia da semana (0-7) | | | | | | | \_ Mês (1-12) | | | | | \_ Dia do Mês (1-31) | | | \_ Hora | \_ Minuto
Alguns exemplos de comandos
- Para rodar todo dia de hora em hora:
00 * * * * script
- Para rodar de dez em dez minutos todos os dias:
00-59/10 * * * * script
- Para rodar uma seqüência de horas:
20 10,12,16,18,22 * * * script
- Para rodar numa seqüência de dias do mês às 14:00:
00 14 03-15 * * script
- Para rodar ao meio-dia e a meia-noite de terça a sábado:
00 00, 12 * * 2-6 script