Como usar o Rsync para criar um backup no Ubuntu 20.04
Há muitas maneiras de fazer um backup no Ubuntu. Recentemente, vimos uma ferramenta poderosa, mas complexa - Bakula. Hoje, aprenderemos a fazer um backup usando o rsync.
Passo 1 - Instalando o rsync
O Ubuntu 20.04 já contém o pacote rsync instalado. Para verificar isso e descobrir a versão, use o comando:
sudo rsync --version
Se o pacote não estiver instalado por algum motivo, use o comando:
sudo apt install rsync
Para iniciar o rsync como um serviço no Ubuntu 20.04, crie o arquivo /etc/rsyncd.conf e copie /lib/systemd/system/rsync.service para /etc/systemd/system/rsync.service.
sudo nano /etc/rsyncd.conf # save and close it
sudo cp /lib/systemd/system/rsync.service /etc/systemd/system/rsync.service
Agora reinicie o serviço.
sudo systemctl restart rsync
Etapa 2 - Configurando o servidor da fonte de dados
Primeiro, adicione estas linhas ao arquivo de configuração do rsync /etc/rsyncd.conf. Altere o parâmetro 'path' para o caminho dos arquivos de origem para backup. Para 'uid' e 'gid', use o nome de usuário e o grupo existentes com permissões de leitura nas pastas de origem do backup.
sudo nano /etc/rsyncd.conf
# Global configuration of the rsync service
pid file = /var/run/rsyncd.pid
# Username and group for working with backups
uid = backup-user
gid = backup-user
# Don't allow to modify the source files
read only = yes
# Data source information
[data]
path = /path/to/backup
list = yes
auth users = backup-user
secrets file = /etc/rsyncd.passwd
Os dados no parâmetro "auth users" e o arquivo /etc/rsyncd.passwd são usados para autorização entre o rsync em computadores diferentes. Adicione uma linha nesse arquivo, como esta:
sudo nano /etc/rsyncd.passwd
backup-user:test-pass
Altere as permissões do arquivo rsyncd.passwd.
sudo chmod 0600 /etc/rsyncd.passwd
Reinicie o serviço para aplicar as alterações.
sudo systemctl restart rsync
Etapa 3 - Executando o backup
Crie o arquivo /etc/rsyncd.passwd no servidor receptor onde os backups serão armazenados. Digite a mesma senha do computador de origem, mas sem o nome de usuário, e defina 600 permissões para ele.
sudo nano /etc/rsyncd.passwd
test-pass # Save and close file
sudo chmod 0600 /etc/rsyncd.passwd
Para realizar um backup, execute o comando:
rsync -a --password-file=/etc/rsyncd.passwd backup-user@source-server-ip::data /destination/path/$(date +%Y-%m-%d)/
Substitua source-server-ip pelo endereço IP do primeiro servidor e '/destination/path/' pelo caminho para armazenar backups.
Para backups regulares, basta adicionar a tarefa ao final do arquivo /etc/crontab.


