Publicado em 08/07/2024
LinuxBashProgramaçãoE ai Dev, beleza ? 🤙
Provavelmente você já precisou criar um serviço que rodasse no automático no seu sistema Linux, como um Backup Diário dos seus arquivos mais importantes, e pensou: “Como eu posso fazer isso?” Bom, hoje vamos explorar como criar um serviço no Linux que realiza backups diários de forma automática. É mais simples do que parece e, prometo, até divertido! Então, prepare-se para dominar mais essa habilidade importante para um desenvolvedor full-stack!
O que é um Serviço no Linux?
Antes de entrarmos de cabeça (lá ele, rs), vamos entender o que é um serviço no Linux. Basicamente, um serviço é um programa que roda em segundo plano e realiza tarefas específicas. No nosso caso, vamos criar um serviço que faz backup diário dos arquivos de determinado diretório. Mas poderia ser qualquer tarefa que precise automatizar no seu sistema !
Passo a Passo: Criando Seu Serviço de Backup
1. Crie o Script de Backup
Primeiro, vamos criar um script simples que faz o backup dos seus arquivos em um determinado diretório. Neste caso, vamos fazer o backup dos arquivos na pasta do servidor local para uma pasta do Google Drive. Para isso, abra o terminal e crie um novo arquivo chamado backup.sh
:
sudo vim /usr/local/bin/backup.sh
Note que, estamos criando o nosso script diretamente na pasta de scripts customizados do usuário, utilizando o editor de códigos Vim. Para iniciar a edição do arquivo, pressione i
. Agora, copie o seguinte código e cole no arquivo com Ctrl + Shift + V
:
#!/bin/bash # Diretório de origem SOURCE="/var/www/html" # Diretório de destino DEST="$HOME/GDrive" # Nome do arquivo de backup com a data de criação BACKUP_NAME="backup-$(date +%Y-%m-%d).tar.gz" # Comando de backup tar -czf $DEST/$BACKUP_NAME $SOURCE echo "Backup realizado com sucesso em $DEST/$BACKUP_NAME"
Para salvar e fechar o arquivo, utilize Esq + : + w + q
e pressione Enter
.
2. Torne o Script Executável
Agora, torne o script executável:
sudo chmod +x /usr/local/bin/backup.sh
Antes de criarmos o serviço no sistema, vamos verificar se o nosso script está funcionando corretamente. Para isso, execute-o da seguinte forma:
./usr/local/bin/backup.sh
Se tudo estiver correto, você verá a mensagem de sucesso e terá o arquivo de backup criado na pasta destino.
3. Crie um Arquivo de Serviço
Vamos criar um arquivo de serviço para o nosso script de backup. No terminal, crie um novo arquivo chamado backup.service
:
sudo vim /etc/systemd/system/backup.service
Adicione o seguinte conteúdo:
[Unit] Description=Serviço de Backup Diário [Service] ExecStart=/usr/local/bin/backup.sh [Install] WantedBy=multi-user.target
Salve o arquivo utilizando Esq + : + w + q
e depois Enter
para sair do editor.
4. Crie um Timer para o Serviço
Para garantir que o serviço será executado diariamente, vamos criar um timer. Crie um arquivo chamado backup.timer
:
sudo vim /etc/systemd/system/backup.timer
Agora, adicione o seguinte conteúdo:
[Unit] Description=Executa o Serviço de Backup Diário [Timer] OnCalendar=daily Persistent=true [Install] WantedBy=timers.target
Salve o arquivo e saia do editor.
5. Ative o Serviço e o Timer
E finalmente, vamos ativar o serviço e o timer para que comecem a funcionar automaticamente:
sudo systemctl start backup.timer; sudo systemctl enable backup.timer;
Pronto! Seu serviço de backup diário está configurado e funcionando.
Criar um serviço no Linux pode parecer intimidante se for a sua primeira vez, mas como você pôde ver, com alguns comandos simples é possível automatizar tarefas essenciais como backups diários.
E ai, gostou do tutorial? Já utiliza algum serviço de backup automático? Compartilhe suas experiências nos comentários e ajude outros programadores iniciantes!