Crontab pelo SSH: como programar tarefas automáticas no seu servidor
Oi! Aqui é a Sensei da GeHost 🥋 Hoje vou te ensinar uma mágica que muita gente nem sabe que existe: fazer o servidor rodar tarefas sozinho, no horário que você quiser, sem você precisar lembrar de fazer nada manualmente. O nome disso é cron job, e a ferramenta que usamos pra criar é o crontab.
Parece "coisa de programador", mas prometo que, seguindo o passo a passo, você consegue tranquilamente. Bora lá?
O que é o crontab, afinal?
Pensa no crontab como uma agenda do servidor. Você anota nela: "toda sexta às 22h, rode este script" ou "a cada 30 minutos, execute esta rotina" — e o servidor cumpre à risca, sem falhar e sem precisar de você online naquele momento.
É muito usado para coisas como rodar um backup próprio de um sistema, disparar um script de manutenção, limpar arquivos temporários de uma aplicação, ou rodar rotinas de um sistema feito sob medida.
Dica da Sensei: se a sua necessidade é só backup do site/e-mail, a GeHost já tem isso disponível pelo cPanel (tela de "Backup") — não precisa reinventar a roda com crontab pra isso. O crontab é mais indicado pra rotinas personalizadas, de um script ou sistema seu.
Antes de começar: você tem acesso SSH?
Nem toda demanda de hospedagem já vem com acesso SSH liberado — isso depende do seu plano e da natureza do que você quer rodar. Se você não sabe se tem esse acesso, ou se ainda não recebeu os dados de conexão (endereço, usuário e porta), é só chamar a gente pelo painel.gehost.com.br ou abrir um chamado no suporte que a equipe te orienta certinho.
Passo a passo: acessando o servidor via SSH
- Abra um cliente de terminal SSH. No Windows, pode usar o PowerShell/Terminal (já vem com SSH embutido) ou um programa como o PuTTY. No Mac e no Linux, o próprio aplicativo de Terminal já resolve.
- Conecte usando os dados que o suporte te passou, algo no formato:
ssh seu_usuario@endereco_do_servidor -p porta
- Digite sua senha quando for solicitado (ela não aparece na tela enquanto você digita — é normal, pode continuar digitando e apertar Enter).
- Pronto, você está "dentro" do servidor! Vai aparecer uma linha de comando esperando você digitar.
Criando sua primeira tarefa agendada
- Com a conexão SSH aberta, digite:
crontab -e
e aperte Enter. - Na primeira vez, o sistema pode perguntar qual editor de texto você quer usar. Se aparecer essa pergunta, escolha a opção do nano (geralmente é a opção mais simples e mais indicada pra quem está começando).
- Vai abrir uma tela de edição. É aqui que você escreve sua "receita" de agendamento, uma linha por tarefa, seguindo este formato:
minuto hora dia-do-mês mês dia-da-semana comando
- Depois de escrever a linha da sua tarefa, salve e saia:
- Aperte Ctrl + O (letra O, de "output") pra salvar, e depois Enter pra confirmar o nome do arquivo.
- Aperte Ctrl + X pra sair do editor.
- Pronto! O servidor já registrou sua tarefa e vai executá-la automaticamente no horário programado.
Entendendo os campos do horário
Os cinco primeiros campos da linha definem quando a tarefa roda, nesta ordem:
- Minuto (0 a 59)
- Hora (0 a 23, formato 24h)
- Dia do mês (1 a 31)
- Mês (1 a 12)
- Dia da semana (0 a 6, sendo 0 = domingo)
Quando você usa um asterisco (*) num campo, está dizendo "vale pra qualquer valor" — ou seja, "todo minuto", "toda hora", "todo dia", etc.
Alguns exemplos práticos
- Todo dia às 3h da manhã:
0 3 * * * /caminho/do/seu/script.sh
- A cada 30 minutos:
*/30 * * * * /caminho/do/seu/script.sh
- Toda segunda-feira às 8h:
0 8 * * 1 /caminho/do/seu/script.sh
- No primeiro dia de cada mês, à meia-noite:
0 0 1 * * /caminho/do/seu/script.sh
Dica da Sensei: sempre use o caminho completo do seu script (ex.: /home/seuusuario/scripts/rotina.sh) em vez de só o nome do arquivo. O cron não sabe "onde você está" quando roda, então ele precisa do endereço completinho pra achar o que executar.
Conferindo se está tudo certo
- Para ver as tarefas que você já cadastrou, digite:
crontab -l
Isso lista tudo que está agendado no momento, sem abrir o editor. - Se quiser apagar uma linha, entre de novo com crontab -e, apague a linha desejada com o teclado e salve normalmente (Ctrl + O, Enter, Ctrl + X).
Dica da Sensei: antes de agendar, teste o comando/script rodando ele manualmente no terminal (só digitando o caminho dele e Enter). Se funcionar sozinho, vai funcionar no cron. Se der erro na mão, vai dar o mesmo erro agendado — aí é mais fácil de descobrir o problema.
Ficou com alguma dúvida?
Se travar em algum passo, se a tarefa não rodar como esperado, ou se você não tiver certeza se seu plano tem acesso SSH liberado, é só chamar a gente pelo painel.gehost.com.br — a equipe te ajuda a revisar a linha do cron e confirmar se está tudo redondinho. Boa automação! 🥋