User Tools

Site Tools


wiki:linux:comandos:comando_cron

Exemplos do comando cron

Nível Básico

  • Executar um script diariamente às 7:00 da manhã:
    1. 0 7 * * * /caminho/para/script.sh
    2. Executa o script todos os dias às 7:00 da manhã.
  • Executar um comando a cada hora:
    1. 0 * * * * /caminho/para/comando
    2. O comando será executado na primeira hora de cada hora.
  • Agendar a execução de um script todos os domingos às 12:00:
    1. 0 12 * * 0 /caminho/para/script.sh
    2. Executa o script todos os domingos ao meio-dia.
  • Exibir uma mensagem de alerta no terminal a cada 5 minutos:
    1. */5 * * * * echo "Alerta: cheque o sistema!"
    2. 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ã:
    1. 0 2 * * * tar -czf /backup/backup-$(date +\%Y\%m\%d).tar.gz /diretorio/alvo
    2. 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ã:
    1. 30 3 * * 1 find /var/log -type f -name "*.log" -mtime +30 -delete
    2. Remove logs antigos com mais de 30 dias, toda segunda-feira às 3:30 da manhã.
  • Executar um script a cada 15 minutos:
    1. */15 * * * * /caminho/para/script.sh
    2. O script será executado a cada 15 minutos.
  • Enviar uma mensagem de email com o uso de disco às 6:00 todos os dias:
    1. 0 6 * * * df -h | mail -s "Uso de disco diário" usuario@dominio.com
    2. 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:
    1. 0 2 * * 5 systemctl restart apache2
    2. 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ã:
    1. 0 8 * * 1-5 /caminho/para/script.sh
    2. 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:
    1. 0 0 28-31 * * [ "$(date +\%d -d tomorrow)" = "01" ] && /caminho/para/script.sh
    2. 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):
    1. */10 9-18 * * * /caminho/para/comando
    2. 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:
    1. * * * * * /caminho/para/script_monitoramento.sh >> /var/log/monitoramento_$(date +\%Y\%m\%d).log 2>&1
    2. 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:
    1. MAILTO="admin@dominio.com" HOME=/home/usuario * * * * * /caminho/para/script.sh
    2. 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:
    1. 30 22 31 12 * /sbin/shutdown -h now
    2. Desliga o sistema às 22:30 no dia 31 de dezembro.
  • Agendar uma tarefa que só roda no primeiro dia útil do mês:
    1. 0 9 1-7 * * [ "$(date +\%u)" -lt 6 ] && /caminho/para/script.sh
    2. 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:
    1. 0 9 8-14 * * [ "$(date +\%u)" = "6" ] && /caminho/para/script.sh
    2. 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):
    1. */5 9-12 * * * /caminho/para/script.sh
    2. */30 13-18 * * * /caminho/para/script.sh
    3. Cria dois cron jobs que cobrem intervalos diferentes durante o dia.
wiki/linux/comandos/comando_cron.txt · Last modified: by Wiki Administrator