Como agendar um cron job direto pelo terminal usando crontab
Oi! Aqui quem fala é a Sensei, da equipe GeHost 🥋 Hoje vamos aprender uma mágica bem útil: fazer o servidor executar uma tarefa sozinho, no horário que você quiser, sem você precisar clicar em nada. Isso se chama cron job, e a ferramenta que usamos pra agendar é o crontab.
Parece assunto de "avançado" (e é 😄), mas prometo que, seguindo o passo a passo, você consegue tranquilamente.
O que é um cron job, afinal?
Pense no cron como um despertador do servidor. Você diz "todo dia às 3h da manhã, rode este comando" e ele cuida disso pra sempre, sem precisar de ninguém acordado pra apertar o botão. É muito usado para coisas como limpar arquivos temporários, rodar um script de backup do seu sistema ou disparar uma rotina automática do seu site.
Dica da Sensei: se a tarefa que você precisa é algo comum (tipo backup ou envio de e-mail), dá uma olhada primeiro se já não existe uma opção prontinha no seu painel. O terminal é o caminho para quem já tem um script específico pra rodar.
Passo 1 — Acesse o terminal via SSH
Para usar o crontab pelo terminal, você precisa entrar na sua hospedagem via SSH (é basicamente um "acesso remoto" por linha de comando). Nem toda situação/plano tem esse acesso liberado por padrão — se você tentar conectar e não conseguir, é só chamar o suporte da GeHost pelo painel.gehost.com.br que a gente confirma certinho pra você.
Com o acesso em mãos, conecte usando o programa de SSH que preferir (terminal do Mac/Linux, PowerShell, PuTTY, etc.) com o usuário e a senha (ou chave) que você tem cadastrados.
Passo 2 — Abra o editor de crontab
Já dentro do terminal, digite:
crontab -e
Na primeira vez, o sistema pode perguntar qual editor de texto você quer usar. Se aparecer uma lista com opções tipo nano e vim, escolha o nano — ele é bem mais simples pra quem está começando (as instruções de "salvar e sair" aparecem na parte de baixo da tela).
Passo 3 — Entenda a "receita" de um agendamento
Uma linha de cron sempre segue este formato:
minuto hora dia-do-mês mês dia-da-semana comando
São 5 números (ou asteriscos) antes do comando que você quer rodar. O asterisco * quer dizer "qualquer valor". Veja a ordem:
- Minuto — de 0 a 59
- Hora — de 0 a 23
- Dia do mês — de 1 a 31
- Mês — de 1 a 12
- Dia da semana — de 0 (domingo) a 6 (sábado)
Passo 4 — Exemplos práticos
Alguns exemplos pra você adaptar ao seu caso, trocando o comando pelo script que você quer rodar:
- Todo dia às 3h da manhã:
0 3 * * * /caminho/do/seu/script.sh - A cada hora, no minuto 0:
0 * * * * /caminho/do/seu/script.sh - Toda segunda-feira às 8h:
0 8 * * 1 /caminho/do/seu/script.sh - A cada 15 minutos:
*/15 * * * * /caminho/do/seu/script.sh
Dica da Sensei: sempre use o caminho completo do arquivo (ex.: /home/seuusuario/scripts/backup.sh) em vez de só o nome. O cron não sabe "onde você está" como quando você digita comandos direto no terminal, então ele precisa do endereço completinho pra achar o arquivo certo.
Passo 5 — Salve e confira
Depois de escrever sua linha, salve o arquivo (no nano: Ctrl + O pra salvar e Ctrl + X pra sair). Pronto, seu agendamento já está ativo!
Para conferir quais agendamentos você já tem cadastrados a qualquer momento, use:
crontab -l
Erros comuns (e como evitar)
- Esquecer o caminho completo do script ou do programa que ele chama.
- Confundir a ordem dos 5 campos (minuto vem sempre primeiro).
- Rodar tarefas pesadas com muita frequência — se o script demora muito, prefira espaçar mais os horários pra não sobrecarregar sua hospedagem.
- Não testar o script antes — rode o comando manualmente uma vez no terminal pra ter certeza de que ele funciona sozinho, antes de agendar.
Se travar em qualquer parte do caminho, pode chamar a gente pelo painel.gehost.com.br — a equipe de suporte te ajuda a revisar o agendamento com todo carinho. 🙌