SSH và nâng cao 119 visualizações

Como automatizar tarefas do servidor com scripts bash agendados via cron

Ver no WHMCS

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

  1. Acesse seu cPanel normalmente (login e senha que você já usa).
  2. Abra o Gerenciador de Arquivos.
  3. 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).
  4. Faça o upload do seu arquivo .sh.
Gerenciador de Arquivos do cPanel mostrando a árvore de pastas

Passo 3 — Dê permissão de execução

Todo script precisa de uma "autorização" pra poder rodar. No Gerenciador de Arquivos:

  1. Clique com o botão direito no arquivo .sh;
  2. Escolha a opção de Quyền (Permissions);
  3. 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.

Painel inicial do cPanel com os grupos de ferramentas, incluindo a seção Avançado

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>&1 pra 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! 🥋💛

Precisa de Ajuda?

Nossa equipe está pronta para resolver suas dúvidas.