Skip to main content

VPS: Fazendo backup de servidores Linux com Rsync

Este guia foi criado com os seguintes produtos:

(Os detalhes podem variar com produtos de diferentes fornecedores, mas os conceitos principais permanecem os mesmos)

Rsync:

Backups podem ser feitos com a ferramenta Rsync.
Eles podem ser copiados no próprio sistema local para outro diretório/drive ou para um sistema remoto.

Copiar dados para outro diretório ou drive local:

informação

Atenção: A primeira execução pode levar muito mais tempo que as seguintes, dependendo da quantidade de dados. Isso porque na primeira vez o Rsync sincroniza todos os dados, a partir da segunda vez só os dados alterados serão sincronizados.

Assim, um backup incremental é criado.

Passo 1

O Rsync pode ser instalado com o seguinte comando:

apt install rsync

Depois de instalado, pode ser usado diretamente.

Passo 2

Neste exemplo, a pasta Client dentro de /home deve ser sincronizada com a pasta Backup dentro de /home.

Isso pode ser feito com o seguinte comando:

rsync -arz /home/Client /home/Backup

-a=Arquivamento, os atributos serão copiados


-r=Recursivo, subpastas também são sincronizadas


-z=Compressão, dependendo da quantidade/tamanho dos dados, é comprimido

A pasta foi sincronizada com sucesso.

Se um arquivo, etc., na pasta Client for deletado agora, ele permanecerá na pasta Backup.
Mas como os arquivos devem estar sempre sincronizados 1:1, o comando rsync pode ser facilmente alterado, essa mudança garante que dados que não existem mais na pasta Client também sejam removidos da pasta Backup.

O comando modificado é:

rsync -arz --delete /home/Client /home/Backup

-a=Arquivamento, os atributos serão copiados


-r=Recursivo, subpastas também são sincronizadas


-z=Compressão, dependendo da quantidade/tamanho dos dados, é comprimido


--delete= Deleta dados que não existem mais na origem mas ainda existem no destino

Passo 3

Para não precisar executar o comando manualmente toda hora, ele pode ser colocado em um cronjob.
Por exemplo, um backup deve ser criado diariamente às 3 da manhã:

Abra crontab -e:

Com o número 1, o "nano" pode ser usado como editor.
Com o número 2, o "vim" pode ser usado como editor.

Depois que o arquivo for aberto com, por exemplo, Nano, um crontab pode ser criado e inserido.
Um crontab pode ser criado com este Gerador.

O crontab inserido fica assim:

0 3 * * * rsync --progress -arz --delete -e  "ssh -i /home/sshkey/keybackup" /home/Client/ root@123.123.123.123:/home/Backup/Home-Server1/ >/dev/null 2>&1

Todo dia às 3 da manhã o comando é executado e um backup é criado.