Um "
cron job" é uma tarefa executada de acordo com intervalos de tempos especificados. Essas tarefas podem ser agendadas para a execução a cada minuto, hora, dia do mês, mês, dia da semana, ou qualquer combinação dessas opções.
As tarefas do cron são geralmente utilizadas para automatização ou administração do sistema, como a realização de backups do banco de dados ou de arquivos, atualização do sistema para os patchs de segurança mais recentes, verificação do espaço utilizado no disco, envio de e-mails com informações do sistema, dentre diversas outras.
A execução de tarefas via cron a cada 5, 10 ou 15 minutos, estão entre as mais comumente utilizadas nos agendamentos dos servidores
Linux.
Sintaxe e operadores do Crontab
O crontab (ou cron table) é um arquivo de texto que define os agendamentos das tarefas de cron. Os arquivos crontab podem ser criados, visualizados, modificados e removidos, com o comando [B]crontab[/B].
Cada linha do arquivo crontab possui 6 campos separados por um espaço, seguidos pelo comando que será executado.
* * * * * comando(s)
^ ^ ^ ^ ^
| | | | | Valores permitidos
| | | | | -------
| | | | ----- Dia da semana (0 - 7) (Domingo=0 até 7)
| | | ------- Mês (1 - 12)
| | --------- Dia do mês (1 - 31)
| ----------- Hora (0 - 23)
------------- Minuto (0 - 59)
Os cinco primeiros campos (tempo e data) aceitam os seguintes operadores:
- * - o operador asterisco significa todos os valores. Caso você tenha o asterisco no campo Minuto, isto significa que o comando será executado em cada minuto.
- - - o operador traço permite que você especifique um intervalo de valores. Se você definir 1-5 no campo Dia da semana, seu comando será executado todas as semanas, nos dias entre segunda-feira e sexta-feira. O intervalo é inclusivo, ou seja, os valores iniciais e finais estão incluídos no intervalo.
- , - o operador vírgula permite que sejam definidos valores dentro de uma lista para sua repetição. Por exemplo, caso você tenha 1,3,5 no campo Hora, a tarefa será executada às 1am, 3am e 5am. A lista pode conter valores únicos ou intervalos de valores, como 1-5,7,8,10-15.
- / - o operador barra permite que você defina intervalos de valores, que podem também ser utilizados de valores. Por exemplo, caso você tenha 1-10/2 no campo de Minutos, isto quer dizer que a ação será realizada a cada 2 minutos no intervalo de 1 até 10, seria o mesmo que definir 1,3,5,7,9. Ao invés de utilizar um intervalo de valores, podemos também utilizar junto com o operador asterisco, como */20.
A sintaxe dos arquivos de crontab do sistema são um pouco diferentes das utilizadas nos arquivos dos usuários. Eles possuem um campo adicional que é obrigatório, definindo qual usuário do sistema será utilizado na execução da tarefa (script) do cron.
* * * * * comando(s)
Para editar o arquivo do crontab, ou criar um deles, devemos utilizar o comando:
crontab -e
ou:
sudo crontab -e
Como executar uma tarefa no cron a cada 5 minutos
Existem duas formas de executar uma tarefa no cron a cada 5 minutos.
A primeira delas é com a utilização do separador vírgula para criar uma lista de minutos:
0,5,10,15,20,25,30,35,40,45,50,55 * * * * comando(s)
A linha apresentada está sintaticamente correta e irá funcionar de forma adequada, embora digitar esse tipo de lista pode ser extremamente tedioso, além de propenso a erros.
A segunda maneira de executar uma tarefa a cada 5 minutos é com a utilização do operador barra, da seguinte forma:
*/5 * * * * comando(s)
Observe que "*/5" significa a criação automatizada de uma lista com os minutos em que a tarefa será executada, a cada 5 minutos.
Executar uma tarefa a cada 10 minutos
Para executar uma tarefa via cron a cada 10 minutos, você pode utilizar:
*/10 * * * * comando(s)
Executar uma tarefa a cada 15 minutos
Para executar uma tarefa via cron a cada 15 minutos, você pode utilizar:
*/15 * * * * comando(s)
Conclusões
Espero que tenha ficado claro como utilizar o cron para executar tarefas a cada 5, 10 e 15 minutos.