Como agendar tarefas via SSH editando o crontab diretamente imprimir

  • 0

Agendando tarefas automáticas pelo SSH: o crontab na mão, direto do terminal

Oi! Aqui é a Sensei da GeHost 🥋 Hoje vamos aprender uma técnica mais avançada: como agendar tarefas automáticas no seu servidor editando o crontab diretamente pelo SSH, sem passar pela tela de "Cron Jobs" do cPanel. É uma forma mais rápida e flexível pra quem já tem intimidade com terminal — e eu vou te guiar com calma, passo a passo, pra você não se perder.

Se você nunca usou terminal/SSH antes, sem crise! Recomendo ler primeiro nosso guia de "Primeiros passos com SSH" antes de seguir este aqui. E se travar em qualquer parte, nosso suporte está aqui pra te ajudar 💙

O que é o crontab, afinal?

O crontab é a "agenda" do seu servidor: um arquivo simples de texto onde você lista as tarefas que devem rodar sozinhas, em horários definidos — sem você precisar clicar em nada. Serve pra automatizar backups, limpar arquivos temporários, rodar scripts de manutenção, disparar rotinas do seu sistema, entre outras coisas.

A grande vantagem de editar via SSH é que você tem controle total da sintaxe e pode usar comandos mais elaborados, com caminhos, variáveis e redirecionamentos — algo que a tela visual do cPanel também permite, mas de um jeito mais "clique e preencha".

Passo 1 — Acesse seu servidor via SSH

Primeiro, conecte no seu servidor pelo terminal (Mac/Linux) ou por um programa como o PuTTY (Windows), usando o mesmo usuário e senha (ou chave) da sua hospedagem:

ssh seuusuario@seudominio.com.br

Importante: o acesso SSH precisa estar habilitado na sua conta. Se você tentar conectar e não conseguir, entre em contato com nosso suporte pelo painel.gehost.com.br pra confirmar se está liberado no seu plano.

Passo 2 — Abra o editor do crontab

Depois de logado, digite o comando abaixo e aperte Enter:

crontab -e

Isso abre o arquivo de agendamentos do seu usuário (não mexe em nada do servidor como um todo, fica restrito à sua própria conta). Na primeira vez, o sistema pode perguntar qual editor de texto você prefere usar — se aparecer essa pergunta e você não tiver preferência, escolha a opção mais simples da lista (geralmente "nano", que é mais amigável que o "vim").

Passo 3 — Entenda a estrutura de uma linha de agendamento

Cada linha do crontab segue este formato, com 5 campos de tempo antes do comando:

minuto hora dia-do-mês mês dia-da-semana comando
  • minuto: 0 a 59
  • hora: 0 a 23
  • dia do mês: 1 a 31
  • mês: 1 a 12
  • dia da semana: 0 a 6 (0 = domingo)

Use um asterisco (*) em qualquer campo que signifique "todos os valores". Alguns exemplos práticos:

  • 0 3 * * * /caminho/do/script.sh — roda todo dia, às 3h da manhã.
  • */15 * * * * /caminho/do/script.sh — roda a cada 15 minutos.
  • 0 0 1 * * /caminho/do/script.sh — roda no dia 1º de cada mês, à meia-noite.
  • 0 9 * * 1 /caminho/do/script.sh — roda toda segunda-feira, às 9h.
💡 Dica de sensei: sempre use o caminho completo do arquivo (ex.: /home/seuusuario/public_html/script.php) em vez de um caminho relativo. É o erro mais comum que faz uma tarefa "sumir" e nunca rodar.

Passo 4 — Salve e confira se ficou certo

Depois de digitar sua linha, salve o arquivo (no editor "nano", é Ctrl + O pra salvar e Ctrl + X pra sair). Pra conferir se sua tarefa foi realmente salva, digite:

crontab -l

Isso lista todas as tarefas agendadas na sua conta. Se a linha que você criou aparecer ali, prontinho — ela já está ativa e vai rodar sozinha no horário certo.

Passo 5 — Quer registrar um log pra acompanhar?

É uma boa prática direcionar a saída do comando pra um arquivo de log, assim você consegue conferir depois se a tarefa rodou certinho:

0 3 * * * /caminho/do/script.sh >> /home/seuusuario/logs/meu-log.log 2>&1

Isso guarda tanto o resultado normal quanto eventuais erros no mesmo arquivo, facilitando o diagnóstico.

Removendo ou editando uma tarefa

Pra editar, basta rodar crontab -e de novo, apagar ou ajustar a linha desejada e salvar. Pra remover TODAS as tarefas agendadas (cuidado, essa ação não tem volta fácil), o comando é:

crontab -r

Use com atenção — prefira sempre editar linha por linha em vez de zerar tudo, a menos que seja realmente essa a intenção.

Prefere o jeito visual?

Se em algum momento preferir voltar pro modo mais visual, sem terminal, seu cPanel também tem uma seção própria de "Cron Jobs" com os mesmos campos explicados aqui, só que em formulário — os dois métodos mexem no mesmo arquivo, então pode alternar entre eles sem problema.

🥋 Palavra da Sensei: comece sempre testando seu script manualmente antes de agendar (rode o comando direto no terminal e veja se funciona). Script que não roda na mão, também não vai rodar sozinho no crontab!

Ficou com alguma dúvida no meio do caminho? É só chamar o suporte da GeHost pelo painel.gehost.com.br — a gente te ajuda a revisar sua linha de agendamento com todo carinho. 💙


Esta resposta lhe foi útil?

« Retornar