31.01.2025

Como usar o Rsync para criar um backup no CentOS 8

Neste tutorial, usaremos o Rsync para criar um backup no CentOS 8. Os backups serão enviados para o segundo servidor e armazenados lá. Portanto, precisamos de dois servidores CentOS 8 funcionando e configurados.

Instalação dos pacotes do Rsync

Vamos verificar se os pacotes Rsync necessários estão instalados e instalá-los caso não estejam.

dnf install rsync rsync-daemon

Inicie o daemon do Rsync e habilite sua inicialização automática.
[/passo]

systemctl enable --now rsyncd

Verifique se a inicialização automática está ativada e funcionando.
[/passo]

systemctl status rsyncd
● rsyncd.service - fast remote file copy program daemon
Loaded: loaded (/usr/lib/systemd/system/rsyncd.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2020-12-19 13:18:16 UTC; 6s ago
...

Verifique se o serviço Rsync está escutando na porta da rede.
[/passo]

netstat -tulpn | grep rsync
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 55746/rsync
tcp6 0 0 :::873 :::* LISTEN 55746/rsync

Configuração do servidor de origem do backup

Abra o arquivo de configuração:

nano /etc/rsyncd.conf

Insira as seguintes linhas nele:

# Rsync daemon global config
pid file = /var/run/rsyncd.pid
# User name and group for reading source files
uid = rsync-user
gid = rsync-user
# Do not allow to modify the source files
read only = yes
# Data Source Configuration
[data]
path = /home/user
list = yes
auth users = rsync-user
secrets file = /etc/secret.passwd

Crie um arquivo com credenciais para autorização nesta máquina.

nano /etc/secret.passwd

Digite o nome de usuário e a senha nesse arquivo.
[/passo]

rsync-user:rsync-pass

Altere as permissões do arquivo para somente leitura pelo usuário root.
[/passo]

chmod 0600 /etc/secret.passwd

Reinicie o daemon do Rsync.

systemctl restart rsyncd

Você também precisa criar o usuário que foi especificado na configuração e no arquivo com credenciais.

useradd rsync-user

Configuração do servidor de backup Rsync receptor

Crie um arquivo para a senha.

nano /etc/secret.passwd

Digite a senha do usuário do Rsync no servidor de origem.

rsync-pass

Altere suas permissões aqui também.

chmod 0600 /etc/secret.passwd

Executando um backup

Crie uma pasta para o backup.
[/passo]

mkdir /opt/backup

O comando a seguir iniciará o backup. Substitua source-server-ip pelo endereço IP do servidor de origem.

rsync -a --password-file=/etc/secret.passwd rsync-user@source-server-ip::data /opt/backup/$(date +%Y-%m-%d)/

Para configurar backups periódicos, você pode adicionar uma tarefa cron com o último comando.