Como automatizar tarefas do servidor com scripts bash agendados via cron 🤖
Oi! Aqui é a Sensei da GeHost 🧙♀️ Hoje eu vou te ensinar um truque que separa quem "usa hospedagem" de quem "domina" a própria hospedagem: fazer o servidor trabalhar sozinho, no automático, enquanto você dorme, toma um café ou cuida do seu negócio. Isso se chama cron — e não se assusta com o nome, ele é bem mais simples do que parece. Bora com calma, passo a passo. 💛
O que é isso, afinal?
Pense no cron como um "despertador" do seu cPanel: você programa uma tarefa (por exemplo, "rode este script todo dia às 3h da manhã") e o servidor cumpre isso sozinho, sempre no horário certo, sem você precisar entrar e clicar em nada. Já o script bash é só um arquivo de texto com uma sequência de comandos que o servidor executa em ordem — tipo uma receitinha de bolo, só que pro servidor.
Juntando os dois, você consegue automatizar coisas como:
- Limpar arquivos temporários ou caches antigos de tempos em tempos;
- Rodar uma rotina de backup extra de uma pasta específica;
- Disparar um script do seu sistema/CRM em horários fixos (ex.: fechamento diário);
- Enviar um "ping" pra manter alguma rotina do seu site sempre fresquinha.
💡 Dica da Sensei: cron é uma ferramenta poderosa — poderosa igual faca afiada na cozinha. Ela faz maravilhas, mas merece respeito: sempre teste o script rodando ele manualmente primeiro, antes de agendar. Assim você garante que ele faz exatamente o que deveria.
Passo 1 — Escreva seu script bash
Um script bash é simplesmente um arquivo de texto que termina em .sh, com os comandos que você quer que rodem. Um exemplo bem simples, que apaga arquivos de log com mais de 7 dias dentro de uma pasta:
#!/bin/bash find /home/seuusuario/logs_antigos -type f -mtime +7 -delete
Repare na primeira linha (#!/bin/bash) — ela é essencial, avisa o servidor que aquilo é um script bash. Escreva o seu num editor de texto simples (Bloco de Notas, VS Code, etc.) e salve como, por exemplo, meu_script.sh.
Passo 2 — Envie o script pro seu painel
- Acesse seu cPanel normalmente (login e senha que você já usa).
- Abra o Gerenciador de Arquivos.
- Crie (ou entre em) uma pasta só pra guardar seus scripts — assim fica tudo organizadinho, longe da pasta pública do site (nunca dentro da
public_html, por segurança). - Faça o upload do seu arquivo
.sh.
Passo 3 — Dê permissão de execução
Todo script precisa de uma "autorização" pra poder rodar. No Gerenciador de Arquivos:
- Clique com o botão direito no arquivo
.sh; - Escolha a opção de Permissões (Permissions);
- Marque a opção de Execução (Execute) também para o dono do arquivo — o valor numérico costuma ficar em 0755.
💡 Dica da Sensei: se o cron "rodar" mas nada acontecer, quase sempre é falta dessa permissão de execução. É o erro número 1 de quem está começando — não se cobre por isso, todo mundo passa por essa fase! 😄
Passo 4 — Agende no Cron Jobs
Agora vem a mágica. No seu cPanel, procure a seção Avançado e clique em Cron Jobs.
Lá você vai preencher 5 campinhos de tempo — pense neles como "quando eu quero que isso rode":
- Minuto (0-59)
- Hora (0-23)
- Dia do mês (1-31)
- Mês (1-12)
- Dia da semana (0-6, sendo 0 = domingo)
Um asterisco (*) em qualquer campo significa "todo/qualquer". Alguns exemplos práticos:
0 3 * * *→ todo dia, às 3h da manhã;0 */6 * * *→ de 6 em 6 horas;0 9 * * 1→ toda segunda-feira, às 9h.
No campo de comando, coloque o caminho completo até o script, algo como:
bash /home/seuusuario/scripts/meu_script.sh
Clique em Adicionar Novo Cron Job e pronto — a partir de agora o servidor cuida disso pra você, sozinho, no automático. 🎉
Dicas de ouro pra não ter dor de cabeça
- Sempre use caminhos completos dentro do script e no comando do cron (nunca caminhos relativos tipo
./meu_script.sh) — o cron não "sabe" em qual pasta você está pensando. - Guarde um registro do que rodou. Você pode adicionar ao final do comando algo como
>> /home/seuusuario/scripts/log.txt 2>&1pra guardar um histórico do que o script fez (ou de eventuais erros) num arquivo de texto. - Comece devagar. Teste primeiro rodando o script manualmente pelo terminal (se seu plano/perfil tiver acesso a isso) ou peça pro nosso suporte te ajudar a validar antes de agendar em produção.
- Não exagere na frequência. Rodar uma tarefa pesada a cada minuto pode sobrecarregar sua hospedagem à toa — pense no menor intervalo que realmente resolve seu problema.
💡 Dica da Sensei: se seu script mexe com e-mail, backup ou qualquer coisa "sensível", faça uma cópia de segurança da pasta ANTES de automatizar. Cron é fiel — ele roda exatamente o que você mandou, até os enganos. 😉
Precisa de uma mãozinha?
Se na hora de montar o script ou o agendamento você travar em algum ponto, é só chamar o suporte da GeHost pelo painel.gehost.com.br — lembrando que todo serviço contratado já vem com 30 dias de suporte grátis após a entrega. E se precisar de mais recursos pro seu projeto crescer, dá uma olhada nos planos disponíveis no seu painel: eles vão desde o Econômico até o Plus, sempre com e-mail profissional já incluso. 🚀
Foi um prazer te ensinar hoje! Continue explorando, com calma e curiosidade — é assim que se vira um mestre da própria hospedagem. Até a próxima aula! 🥋💛