wiki:linux:comandos:comando_cron
Table of Contents
Exemplos do comando cron
Nível Básico
- Executar um script diariamente às 7:00 da manhã:
0 7 * * * /caminho/para/script.sh
- Executa o script todos os dias às 7:00 da manhã.
- Executar um comando a cada hora:
0 * * * * /caminho/para/comando
- O comando será executado na primeira hora de cada hora.
- Agendar a execução de um script todos os domingos às 12:00:
0 12 * * 0 /caminho/para/script.sh
- Executa o script todos os domingos ao meio-dia.
- Exibir uma mensagem de alerta no terminal a cada 5 minutos:
*/5 * * * * echo "Alerta: cheque o sistema!"
- Exibe a mensagem “Alerta: cheque o sistema!” a cada 5 minutos.
Nível Intermediário
- Fazer backup de um diretório todas as noites às 2:00 da manhã:
0 2 * * * tar -czf /backup/backup-$(date +\%Y\%m\%d).tar.gz /diretorio/alvo
- Gera um backup de um diretório todas as noites às 2:00, salvando o arquivo com a data no nome.
- Limpar logs antigos toda segunda-feira às 3:30 da manhã:
30 3 * * 1 find /var/log -type f -name "*.log" -mtime +30 -delete
- Remove logs antigos com mais de 30 dias, toda segunda-feira às 3:30 da manhã.
- Executar um script a cada 15 minutos:
*/15 * * * * /caminho/para/script.sh
- O script será executado a cada 15 minutos.
- Enviar uma mensagem de email com o uso de disco às 6:00 todos os dias:
0 6 * * * df -h | mail -s "Uso de disco diário" usuario@dominio.com
- Envia um email com o relatório do uso de disco às 6:00 da manhã todos os dias.
Nível Avançado
- Reiniciar um serviço automaticamente toda sexta-feira às 2:00:
0 2 * * 5 systemctl restart apache2
- Reinicia o serviço `apache2` todas as sextas-feiras às 2:00 da manhã.
- Executar um script apenas nos dias úteis às 8:00 da manhã:
0 8 * * 1-5 /caminho/para/script.sh
- Executa o script de segunda a sexta-feira, às 8:00 da manhã.
- Agendar a execução de uma tarefa no último dia de cada mês:
0 0 28-31 * * [ "$(date +\%d -d tomorrow)" = "01" ] && /caminho/para/script.sh
- Executa o script no último dia de cada mês.
- Executar um comando a cada 10 minutos, mas apenas durante o horário de expediente (9:00 - 18:00):
*/10 9-18 * * * /caminho/para/comando
- Executa o comando a cada 10 minutos entre 9:00 e 18:00.
Nível Especializado
- Executar uma tarefa de monitoramento a cada minuto e logar a saída com timestamp:
* * * * * /caminho/para/script_monitoramento.sh >> /var/log/monitoramento_$(date +\%Y\%m\%d).log 2>&1
- Executa o script de monitoramento a cada minuto e loga a saída com timestamp no nome do arquivo.
- Definir uma tarefa cron com variável de ambiente personalizada:
MAILTO="admin@dominio.com" HOME=/home/usuario * * * * * /caminho/para/script.sh
- Define a variável `MAILTO` para enviar o resultado por email e especifica o diretório `HOME` antes de executar o script.
- Desligar o sistema automaticamente em uma data e hora específicas:
30 22 31 12 * /sbin/shutdown -h now
- Desliga o sistema às 22:30 no dia 31 de dezembro.
- Agendar uma tarefa que só roda no primeiro dia útil do mês:
0 9 1-7 * * [ "$(date +\%u)" -lt 6 ] && /caminho/para/script.sh
- Verifica se o primeiro dia do mês é um dia útil (segunda a sexta) e executa o script.
- Rodar um script apenas no segundo sábado do mês:
0 9 8-14 * * [ "$(date +\%u)" = "6" ] && /caminho/para/script.sh
- Verifica se o dia está entre 8 e 14 e se é um sábado, e então executa o script.
- Definir uma tarefa que roda em intervalos irregulares (ex.: de 5 em 5 minutos entre 9:00 e 12:00, e a cada 30 minutos entre 13:00 e 18:00):
*/5 9-12 * * * /caminho/para/script.sh
*/30 13-18 * * * /caminho/para/script.sh
- Cria dois cron jobs que cobrem intervalos diferentes durante o dia.
wiki/linux/comandos/comando_cron.txt · Last modified: by Wiki Administrator
