SSH & Avançado 3 visualizações

Como agendar tarefas complexas com crontab diretamente pela linha de comando

Ver no WHMCS

Como agendar tarefas complexas com crontab diretamente pela linha de comando

Olá, viajante do servidor! 👋 Seja bem-vindo ao seu Sensei da GeHost — aqui, vamos te guiar com calma, clareza e um toque de coração, como se estivéssemos conversando no mesmo terminal. Hoje, vamos aprender a agendar tarefas complexas com crontab diretamente via SSH, uma ferramenta poderosa que te dá controle total sobre o que acontece no seu servidor — sem precisar depender de interfaces gráficas.

Se você já tem acesso SSH ao seu servidor (via putty, Termius, ou qualquer cliente SSH), está pronto para dominar esse superpoder. Vamos lá?

Passo 1: Conecte-se ao servidor via SSH

Abra seu terminal ou cliente SSH favorito e conecte-se ao seu servidor usando os dados fornecidos no painel do cliente (painel.gehost.com.br).

Seu comando será algo assim:

ssh usuario@seu-dominio.com.br

Substitua usuario pelo seu usuário cPanel (geralmente o nome do domínio ou algo parecido) e seu-dominio.com.br pelo domínio da sua hospedagem.

Passo 2: Acesse o editor de tarefas crontab

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

  1. crontab -e

Se for a primeira vez, ele pode perguntar qual editor você deseja usar. Escolha vim (ou nano, se preferir algo mais simples). Se você não sabe usar vim, digite:

export EDITOR=nano

Depois disso, use crontab -e novamente. Pronto — agora você está no editor nano, que é mais amigável.

Passo 3: Entenda a estrutura da linha de cron

Cada linha no crontab tem 5 campos que definem quando a tarefa será executada:

  * * * * * comando
  ┌ ┌ ┌ ┌ ┌
  │ │ │ │ │
  │ │ │ │ └── Dia da semana (0-6, 0 = domingo)
  │ │ │ └── Mês (1-12)
  │ │ └── Dia do mês (1-31)
  │ └── Hora (0-23)
  └── Minuto (0-59)

Exemplo simples:

0 2 * * * /usr/bin/php /home/usuario/public_html/limpeza.php

Isso executa o script limpeza.php todos os dias às 2 da manhã.

Passo 4: Escreva sua tarefa complexa com cuidado

Para tarefas complexas, você pode combinar múltiplos comandos, usar variáveis, redirecionar saída ou até chamar scripts PHP, Python, Bash, etc.

Exemplo de uma tarefa complexa:

0 3 * * 1 /usr/bin/php /home/usuario/public_html/backup-dados.php > /home/usuario/logs/backup.log 2>&1

Explicando:

  • 0 3 * * 1 → Executa toda segunda-feira às 3 da manhã.
  • /usr/bin/php → Chama o interpretador PHP.
  • /home/usuario/public_html/backup-dados.php → O script que faz o backup.
  • > /home/usuario/logs/backup.log → Salva a saída no arquivo de log.
  • 2>&1 → Redireciona erros para o mesmo arquivo de saída.

Dica sensata: Crie uma pasta chamada logs no seu diretório público para armazenar arquivos de log. Assim, você pode verificar se a tarefa rodou corretamente depois.

Passo 5: Salve e saia do editor

Se estiver no nano:

  1. Pressione Ctrl + O para salvar.
  2. Pressione Enter para confirmar.
  3. Pressione Ctrl + X para sair.

Se estiver no vim:

  1. Pressione Esc.
  2. Digite :wq e pressione Enter.

Passo 6: Verifique se a tarefa foi salva

Para conferir se sua tarefa foi adicionada corretamente, digite:

crontab -l

Isso lista todas as tarefas agendadas. Confira se sua linha aparece exatamente como você escreveu.

Passo 7: Teste seu script manualmente (recomendado)

Antes de confiar no cron, teste seu script diretamente no terminal:

/usr/bin/php /home/usuario/public_html/backup-dados.php

Se ele funcionar, o cron vai funcionar também. Se der erro, corrija o script e teste de novo.

Tela inicial do cPanel com os grupos de ferramentas

Importante: Dicas finais do Sensei

  • Use sempre caminhos completos (ex: /usr/bin/php), pois o cron não herda o PATH do seu shell.
  • Evite usar ~ ou $HOME — use caminhos absolutos como /home/usuario.
  • Se o script for em PHP, certifique-se de que ele tem permissão de execução: chmod +x nome-do-script.php.
  • Se algo não funcionar, verifique o arquivo de log (ex: backup.log) — lá está tudo o que aconteceu.
  • Se precisar de ajuda, entre em contato com o suporte da GeHost — estamos aqui para te ajudar, sempre.

Parabéns, mestre do cron! 🎯 Você agora domina uma das ferramentas mais poderosas do servidor. Com o tempo, você vai criar tarefas que automatizam tudo: backups, limpeza de cache, envio de e-mails, atualizações de banco de dados… tudo com um simples comando no crontab.

Se quiser, posso te ajudar a montar sua primeira tarefa complexa. É só perguntar no suporte da GeHost — e lembre-se: sempre confira no painel do cliente (painel.gehost.com.br) os dados do seu plano, acesso e segurança.

Com carinho,
Sensei da GeHost
Grupo: G e Soluções e Eventos LTDA (CNPJ: 46.647.904/0001-04)

Precisa de Ajuda?

Nossa equipe está pronta para resolver suas dúvidas.