Como automatizar tarefas recorrentes com scripts bash no VPS
Olá, amigo(a) desenvolvedor(a) ou administrador de servidor! Seja bem-vindo(a) ao seu novo passo rumo à eficiência. Aqui na GeHost, entendemos que você já tem muito o que fazer — e por isso, aprender a automatizar tarefas repetitivas com scripts bash é como ganhar um tempo de vida extra. 😊
Este guia foi feito com carinho para quem está começando, com passos simples, didáticos e cheios de bons conselhos. Vamos juntos, como um verdadeiro pair programming virtual?
O que é um script bash?
Imagine um mini-programa que você escreve em um arquivo de texto, com comandos que o servidor entende. Quando você roda esse arquivo, ele executa todas as tarefas que você mandou — como copiar arquivos, fazer backup, limpar logs, etc.
Por exemplo: toda sexta-feira, você quer fazer um backup do seu banco de dados. Em vez de fazer isso manualmente, você cria um script que faz isso sozinho — e ainda pode configurar para rodar automaticamente!
Dica do Sensei: Scripts bash são como receitas de cozinha. Escreva uma vez, use mil vezes. Quanto mais você pratica, mais rápido e seguro você fica!
Passo a passo: Criando seu primeiro script
Conecte-se ao seu VPS via SSH
Use seu cliente SSH favorito (como PuTTY, Termius ou o terminal do seu computador). Conecte-se com o usuário e senha fornecidos na área do cliente.Crie um novo arquivo de script
No terminal, digite:nano meu_primeiro_script.shIsso abre o editor de texto
nano. Se você preferir outro editor (comovimoucode), é só usar o comando correspondente.Escreva seu script
Dentro do editor, escreva algo simples, como:#!/bin/bash echo "Olá, mundo! Este script foi executado em $(date)" echo "Backup do banco de dados será feito agora..." # Aqui você pode colocar comandos como: mysqldump -u usuario -p senha banco > backup.sqlImportante: A primeira linha
#!/bin/bashé obrigatória — ela diz ao sistema que este é um script bash.Salve e saia
Nonano, pressione Ctrl + O para salvar, depois Enter para confirmar. Depois, pressione Ctrl + X para sair.Torne o script executável
No terminal, digite:chmod +x meu_primeiro_script.shIsso dá permissão para o sistema executar o arquivo.
Execute o script
Agora, basta digitar:./meu_primeiro_script.shVeja o resultado! O terminal vai mostrar a mensagem de boas-vindas e a data.
Automatizando com o Cron (o "relógio" do servidor)
Quer que seu script rode sozinho? O crontab é o seu amigo. Ele é um sistema de agendamento que faz tarefas em horários definidos.
Acesse o crontab
No terminal, digite:crontab -eSe for a primeira vez, será pedido para escolher um editor. Escolha
nano(ou o que preferir).Adicione uma tarefa
Digite uma linha como esta:0 2 * * * /home/seu_usuario/meu_primeiro_script.shEssa linha significa: execute o script todos os dias às 2h da manhã.
Explicando os campos:
0— minuto (0 = início da hora)2— hora (2 = 2h da manhã)*— todos os dias do mês*— todos os meses*— todos os dias da semana
Se quiser rodar só às segundas, troque o último
*por1.Salve e saia
Nonano, pressione Ctrl + O → Enter → Ctrl + X.
Dica do Sensei: Teste seu script manualmente primeiro. Cron só roda se o script estiver correto e com permissão de execução!
Exemplo prático: Backup diário do banco de dados
Imagine que você tem um site com dados importantes. Vamos criar um script que faz backup diário do banco de dados:
#!/bin/bash
# Caminho do script
SCRIPT_DIR="/home/seu_usuario"
BACKUP_DIR="$SCRIPT_DIR/backups"
DATE=$(date +"%Y-%m-%d_%H-%M")
# Crie o diretório de backup, se não existir
mkdir -p $BACKUP_DIR
# Nome do backup
BACKUP_FILE="$BACKUP_DIR/banco_$DATE.sql"
# Comando para fazer o backup (substitua pelos seus dados reais)
mysqldump -u nome_usuario -p'sua_senha' nome_do_banco > $BACKUP_FILE
# Verifique se o backup foi criado
if [ $? -eq 0 ]; then
echo "Backup criado com sucesso: $BACKUP_FILE"
else
echo "Erro ao criar o backup!"
fi
Depois, configure o crontab para rodar esse script diariamente às 3h da manhã:
0 3 * * * /home/seu_usuario/meu_backup.sh
Boas práticas (o que o Sensei ensina)
- Nunca coloque senhas no script em texto claro. Use arquivos de configuração com permissões restritas.
- Teste sempre antes de agendar — um script errado pode causar problemas.
- Use comentários no código para lembrar o que cada parte faz.
- Monitore o resultado — você pode redirecionar a saída para um arquivo de log:
0 3 * * * /home/seu_usuario/meu_backup.sh >> /home/seu_usuario/log_backup.txt 2>&1
Isso salva o que o script imprime no terminal em um arquivo de log — ótimo para ver se deu certo.
Quer ir além?
Com scripts bash, você pode:
- Limpar arquivos antigos (logs, temporários)
- Enviar notificações por e-mail quando algo falha
- Reiniciar serviços automaticamente
- Monitorar uso de disco ou memória
É só começar com um pequeno passo. Cada script é uma conquista. Cada automação, uma liberdade.
Se precisar de ajuda com comandos, permissões ou configuração de cron, entre em contato com nosso suporte. Estamos aqui para ajudar — e sempre com um sorriso no coração. 💙
Com carinho,
Sensei da GeHost