Agendamento CRON / CRONTAB
1. Apresentação
CRON ou CRONTAB, é um agendador de tarefas, utilizado para executar algo automaticamente em determinados momento/tempo.
2. Configurando
O crontab tem seu funcionamento bem simples, mas requer atenção para a sua projeção.
Para editar ele, basta executar o comando:
# crontab -e
Se for a primeira vez que está usando o comando ira solicitar o seu editor.
Select an editor. To change later, run 'select-editor'. 1. /bin/nano <---- easiest 2. /usr/bin/vim.basic 3. /usr/bin/vim.tiny 4. /bin/ed Choose 1-4 [1]:
Escolha o da sua preferencia e tecle enter.
* * * * * comando | | | | | |_ _ _ _ Comando a ser executado | | | | |_ _ _ _ _ Semana (0-7 - domingo à domingo) | | | |_ _ _ _ _ _ Mês (01-12) | | |_ _ _ _ _ _ _ Dia (01-31) | |_ _ _ _ _ _ _ _ Hora (00-23) |_ _ _ _ _ _ _ _ _ Minuto (00-59)
2.1. Minuto
Varia de 00 à 59
2.2. Hora
Varia de (00 à 23)
2.3. Dia
Varia de 01 à 31
Lembrando sempre que ao executar uma tarefa nos dias acima de 28, essa tarefa não será executa no mês de fevereiro.
Usando o dia 31, você irá eliminar todos os meses que terminam em 30 ou menos.
2.4. Mês
Varia de 01 à 12
Podendo também ser usando nomes em inglês (digitados em MAIÚSCULOS ou minúsculos).
Use apenas as 3 primeiras letras do nome.
2.5. Semana
Varia de 0 à 6 ou 1 à 7
Sendo, assim: 0 à 6 de domingo à sábado ou 1 à 7 de segunda à domingo.
Podendo também ser usando nomes em inglês (digitados em MAIÚSCULOS ou minúsculos).
Use apenas as 3 primeiras letras do nome.
2.6. Comando
O comando é você que define, é importante lembrar que o "%" (porcento) é usado para quebra de linha, então, caos você queira usá-lo, digite: "\%", usando a "\" barra invertida antes.
3. Caracteres especiais
Você pode também trabalhar com "coringas", veja abaixo alguns exemplos.
3.1. Usando "*"
Executar uma tarefa ("echo teste") sendo que por 10 minutos, usando o "*", seja:
10 * * * * echo teste
3.2. Usando "/"
Executar uma tarefa de 5 em 5 minutos, usando o "/", seja:
*/5 * * * * echo teste
3.3. Usando "/"
Executar uma tarefa de 5 em 5 minutos durante os 30 primeiros minutos, usando o "/", seja:
0-30/5 * * * * echo teste
3.4. Usando "-"
Executar uma tarefa no período de 0 à 5 minutos, usando o "-", seja:
0-5 * * * * echo teste
3.5. Usando ","
Executar uma tarefa no minuto 1, 3 e 5, usando a "," (vírgula), seja:
1,3,5 * * * * echo teste
4. Exemplo
Executando uma tarefa dia 15/03, quando for segunda-feira, no horário das 23h e 54min.
54 23 15 03 01 echo "Exemplo de tarefa" | | | | | | _ _ _ _ Comando a ser executado | | | | |_ _ _ _ _ _ Semana | | | | _ _ _ _ _ _ _ Mês | | |_ _ _ _ _ _ _ _ _ Dia | | _ _ _ _ _ _ _ _ _ _ Hora |_ _ _ _ _ _ _ _ _ _ _ _ Minuto
Sempre que fizer uma alteração reinicie o cron
Debian 7/8/9
/etc/init.d/cront restart
Debian 10
systemctl restart cron
Site para você não errar: https://crontab.guru/
Valeu!
Creditos: www.emota.com.br/linux/crontab.html
na minha pasta raiz do servidor esta gravando o nome das paginas em arquivos em cada cron que executa e tambem enviando emails o que pode fazer pra nao retornar isso??
Não consegui entender…