Como criar um Serviço de Backup Diário no Linux de Forma Simples e Eficiente

Como criar um Serviço de Backup Diário no Linux de Forma Simples e Eficiente

Publicado em 08/07/2024

LinuxBashProgramação

E 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!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *