Como agendar tarefas recorrentes com crontab pela linha de comando Print

  • 0

Como agendar tarefas recorrentes com crontab pela linha de comando

Olá, querido(a) cliente da GeHost! Seja bem-vindo(a) ao nosso guia prático e humano sobre como usar o crontab para agendar tarefas recorrentes no seu servidor — tudo diretamente pela linha de comando, com segurança e precisão. Aqui, você vai aprender passo a passo, como se fosse um aprendizado de mestre (sim, sou a Sensei da GeHost! 😊).

Antes de começar: o crontab é uma ferramenta poderosa do Linux que permite agendar comandos ou scripts para rodar automaticamente em horários definidos — perfeito para backups, limpeza de logs, atualizações de dados, entre outros.

Dica do Sensei: Use o crontab com responsabilidade. Um comando mal escrito pode causar falhas. Sempre teste seus scripts antes de agendá-los!

Passo 1: Acesse o servidor via SSH

Para usar o crontab, você precisa estar conectado ao seu servidor. Isso é feito através do SSH, que é uma conexão segura e direta.

  • Abra seu terminal (no Linux/Mac) ou o PuTTY (no Windows).
  • Conecte-se usando o comando: ssh seu_usuario@seu_dominio.com.br (substitua pelos dados reais do seu plano).
  • Digite sua senha quando solicitado.
Tela de login do cPanel com campos de usuário e senha

Passo 2: Abra o editor de crontab

Uma vez conectado, digite o seguinte comando para abrir o editor de tarefas agendadas:

crontab -e

Se for a primeira vez, o sistema pode perguntar qual editor você quer usar (como nano ou vim). Escolha nano — é mais amigável para iniciantes.

Atenção: Se o sistema pedir para escolher um editor, pressione Enter para usar o padrão (geralmente nano).

Passo 3: Entenda a estrutura do crontab

O crontab usa uma linha com 5 campos, seguidos do comando que deseja executar. A estrutura é assim:

MINUTO HORA DIA MÊS DIA_DA_SEMANA COMANDO

Veja o que cada campo significa:

  • MINUTO: de 0 a 59
  • HORA: de 0 a 23 (formato 24h)
  • DIA: dia do mês (1 a 31)
  • MÊS: de 1 a 12
  • DIA_DA_SEMANA: 0 = Domingo, 1 = Segunda, ..., 6 = Sábado

Exemplo: 0 3 * * * /caminho/do/script.sh — executa o script todos os dias às 3 da manhã.

Passo 4: Escreva sua tarefa recorrente

Escreva uma linha no editor com o agendamento desejado. Aqui estão alguns exemplos práticos:

  • Executar um script diariamente às 2 da manhã:
    0 2 * * * /home/seu_usuario/public_html/scripts/diario.sh
  • Limpar logs toda terça-feira às 10 da manhã:
    0 10 * * 2 /bin/rm /home/seu_usuario/logs/*.log
  • Executar um backup semanal no domingo às 1h:
    0 1 * * 0 /home/seu_usuario/scripts/backup.sh

⚠️ Importante: Certifique-se de que o caminho do script está correto. Você pode verificar o caminho usando o comando pwd ou ls no terminal.

Passo 5: Salve e feche o editor

Depois de escrever sua tarefa:

  • No nano, pressione Ctrl + O para salvar.
  • Pressione Enter para confirmar.
  • Depois, pressione Ctrl + X para sair.

Se tudo estiver certo, o sistema confirma o salvamento.

Passo 6: Verifique se o agendamento foi salvo

Para ver todas as tarefas agendadas, digite:

crontab -l

Isso exibirá todas as tarefas que você configurou. Se estiver tudo certo, seu trabalho está feito!

Dicas do Sensei para não errar

  • Use sempre caminhos absolutos (ex: /home/seu_usuario/public_html/script.sh), nunca relativos.
  • Teste seu script manualmente antes de agendá-lo. Execute com: sh /caminho/do/script.sh.
  • Evite agendar tarefas muito frequentes (ex: a cada minuto) — pode sobrecarregar o servidor.
  • Se precisar, use crontab -r para remover todas as tarefas (cuidado!).
Quer mais? Acesse o painel da GeHost para gerenciar seu domínio, e-mail e hospedagem com mais tranquilidade. Se precisar de ajuda, nosso suporte está aqui — 30 dias grátis após a entrega!

Parabéns! Você agora é um mestre do crontab. 🌟
Lembre-se: cada comando que você escreve é um passo rumo à automação perfeita. E com a GeHost, você tem tudo o que precisa para crescer com segurança e foco.

Com carinho,
Sensei da GeHost
*Grupo: G e Soluções e Eventos LTDA (marca Entexp, entexp.com.br). Dono: Raphael Neves Koga (desde 2015).*


Was this answer helpful?

« Back