Serverspace Black Friday
JH
Joe Harris
December 24, 2020
Updated May 26, 2023

How to Use Rsync to Create a Backup on CentOS 8

Backup CentOS Linux

Using another OS?

Select the desired version or distribution.

In this tutorial, we will use Rsync to create a backup on CentOS 8. Backups will be sent to the second server and stored there. So we need 2 working and configured CentOS 8 servers.

Installing Rsync packages

Let's check if the necessary Rsync packages are installed and install them if not.

dnf install rsync rsync-daemon

Start the Rsync daemon and enable its automatic starting.

systemctl enable --now rsyncd

Check if auto start is enabled and working.

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
...

Check if the Rsync service is listening on the network port.

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

Configuring the backup source server

Open the configuration file:

nano /etc/rsyncd.conf

Insert following lines in it:

# 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

Create a file with credentials for authorization on this machine.

nano /etc/secret.passwd

Enter username and password in it.

rsync-user:rsync-pass

Change the file permissions to read-only by the root user.

chmod 0600 /etc/secret.passwd

Restart the Rsync daemon.

systemctl restart rsyncd

You also need to create the user that was specified in the configuration and file with credentials.

useradd rsync-user

Сonfiguring the receiving Rsync backup server

Create a file for the password.

nano /etc/secret.passwd

Enter the password for the Rsync user on the source server.

rsync-pass

Change its permissions here as well.

chmod 0600 /etc/secret.passwd

Running a backup

Create a folder for backup.

mkdir /opt/backup

The following command will start the backup. Replace source-server-ip with the source server's IP address.

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

To set up periodic backups, you can add a cron task with the last command in it.

Vote:
5 out of 5
Аverage rating : 5
Rated by: 1
1101 CT Amsterdam The Netherlands, Herikerbergweg 292
+31 20 262-58-98
700 300
ITGLOBAL.COM NL
700 300
We use cookies to make your experience on the Serverspace better. By continuing to browse our website, you agree to our
Use of Cookies and Privacy Policy.