O que é o crontab e por que ele vai facilitar sua vida
Imagina ter que entrar todo santo dia no servidor pra rodar aquele mesmo comando — fazer um backup, limpar arquivos temporários, disparar um relatório. Cansativo, né? É exatamente pra isso que existe o crontab: um "agendador de tarefas" que roda no servidor e executa comandos automaticamente, nos horários que você definir, sem você precisar levantar um dedo depois de configurado.
Neste guia eu vou te mostrar, passo a passo e sem enrolação, como usar o crontab pelo terminal. Bora lá?
Antes de começar: você precisa de acesso ao terminal
O crontab é configurado por linha de comando, então você vai precisar de acesso via terminal (SSH) ao servidor. Isso depende do que está incluso no seu plano de hospedagem — a disponibilidade e a forma de liberar esse acesso podem variar.
Dica da Sensei: se você não tem certeza se seu plano inclui acesso via terminal, dê uma olhada no painel.gehost.com.br ou fale com o suporte antes de continuar. Assim você já começa com o pé direito, sem travar no meio do caminho.
Se o seu caso for hospedagem em cPanel sem acesso SSH liberado, não se preocupe: muitas dessas mesmas tarefas agendadas também podem ser configuradas por uma interface visual dentro do próprio painel, sem precisar digitar comando nenhum. Se for esse o seu cenário, o suporte te orienta certinho sobre qual caminho seguir.
Acessando o terminal
- Abra o aplicativo de terminal do seu computador (no Windows pode ser o PowerShell ou um cliente SSH; no Mac/Linux, o próprio Terminal).
- Conecte-se ao servidor usando os dados de acesso (usuário, endereço e porta) que constam no seu contrato ou no painel do cliente.
- Uma vez conectado, você já está pronto pra trabalhar com o crontab.
Entendendo a sintaxe do crontab
Toda tarefa agendada no crontab segue um padrão de 5 campos, que representam quando o comando vai rodar, seguidos do comando em si:
* * * * * comando-a-ser-executado
Cada asterisco representa uma unidade de tempo, nesta ordem:
- 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, sendo 0 = domingo)
Quando você deixa um campo com asterisco (*), está dizendo "vale pra todos". Alguns exemplos pra fixar:
0 3 * * *— todo dia, às 3h da manhã.*/30 * * * *— a cada 30 minutos.0 9 * * 1— toda segunda-feira, às 9h.0 0 1 * *— no dia 1 de cada mês, à meia-noite.
Passo a passo para criar sua primeira tarefa
- Com o terminal conectado ao servidor, digite o comando abaixo e pressione Enter:
crontab -e
- Isso vai abrir um editor de texto simples direto no terminal (normalmente o nano ou o vi). Não se assuste, é só texto mesmo.
- Vá até uma linha em branco no final do arquivo e escreva sua tarefa, seguindo a sintaxe que vimos acima. Por exemplo, pra rodar um script todo dia às 2h da manhã:
0 2 * * * /caminho/do/seu/script.sh
- Salve o arquivo e feche o editor. No nano, geralmente é Ctrl+O pra salvar e Ctrl+X pra sair.
- Pronto! O sistema já confirma que o crontab foi instalado. A partir de agora, sua tarefa vai rodar sozinha, no horário combinado.
Quer conferir o que já está agendado?
A qualquer momento, você pode listar as tarefas que já estão programadas com:
crontab -l
E se precisar remover tudo (use com cuidado, é definitivo):
crontab -r
Boas práticas pra não ter dor de cabeça
Dica da Sensei: comece sempre testando o comando manualmente no terminal antes de colocar no crontab. Se ele não funcionar rodando na mão, também não vai funcionar agendado — só que dessa vez, calado, sem te avisar do erro.
Dica da Sensei: use sempre o caminho completo dos arquivos e scripts (ex.: /home/seuusuario/scripts/backup.sh) em vez de caminhos relativos. O crontab não sabe de qual pasta você "estava" quando escreveu o comando.
Dica da Sensei: redirecione a saída do comando pra um arquivo de log, assim você consegue conferir depois se tudo rodou certinho:0 2 * * * /caminho/do/script.sh >> /caminho/do/log.txt 2>&1
Dica da Sensei: não exagere na frequência. Rodar uma tarefa pesada a cada minuto pode sobrecarregar o servidor à toa. Pense no quanto aquela tarefa realmente precisa ser repetida.
Erros comuns (e como evitar)
- Esquecer o caminho completo dos comandos e scripts — é a causa número um de "por que minha tarefa não rodou?".
- Confundir a ordem dos campos (minuto, hora, dia, mês, dia da semana) — sempre volte aqui pra conferir a ordem se tiver dúvida.
- Não dar permissão de execução ao script. Se for um arquivo
.sh, lembre de rodarchmod +x script.shantes de agendá-lo. - Agendar sem testar antes — sempre rode o comando manualmente primeiro.
Quando chamar o suporte
Se você seguiu os passos e a tarefa não está rodando como esperado, ou se não tem certeza se seu plano permite acesso via terminal, não perca tempo tentando adivinhar: fale com o suporte da GeHost ou consulte o painel.gehost.com.br. A gente prefere te ajudar a resolver rápido do que ver você travado numa tela de terminal por horas. 🙂