Introduction

Rsnapshot is a filesystem snapshot utility for making backups of local and remote systems. It uses rsync and can be configured to automatically backup files and directories at scheduled intervals. This guide will show you how to set up and use Rsnapshot for backup and restore on Linux servers.

Prerequisites

  • A Linux server (Ubuntu, CentOS, etc.)
  • Root access or a user with sudo privileges
  • Rsync installed (installed by default in many Linux distributions)
  • Basic understanding of command line usage

Step 1: Install Rsnapshot

First, install Rsnapshot using your package manager:

sudo apt update
sudo apt install -y rsnapshot

Step 2: Configure Rsnapshot

Open the Rsnapshot configuration file for editing:

sudo nano /etc/rsnapshot.conf

Review and modify the following key parameters:

    • snapshot_root: This is the directory where snapshots will be stored. Set it to a suitable location, for example:
snapshot_root    /var/cache/rsnapshot/
    • interval: Define the backup intervals (hourly, daily, weekly) and their retention:
interval        daily   7
interval        weekly  4
    • backup: Specify which directories to back up. For example:
backup  /home/      localhost/
backup  /etc/       localhost/

Save and exit the editor.

Step 3: Create Snapshot Directory

Ensure the snapshot root directory exists and has the right permissions:

sudo mkdir -p /var/cache/rsnapshot
sudo chown -R root:root /var/cache/rsnapshot

Step 4: Run Rsnapshot

You can test your Rsnapshot configuration by running a backup manually:

sudo rsnapshot daily

If everything is set up correctly, you should see logs indicating successful backups.

Step 5: Schedule Backups with Cron

To automate backups, you can use cron. Open the crontab for the root user:

sudo crontab -e

Add the following lines to schedule daily, weekly, and hourly backups:

0 * * * * /usr/bin/rsnapshot hourly
30 2 * * * /usr/bin/rsnapshot daily
0 3 * * 0 /usr/bin/rsnapshot weekly

Save and exit the editor.

Step 6: Restore Files from Rsnapshot

To restore files from a backup, navigate to the snapshot directory:

cd /var/cache/rsnapshot/

You will see directories for different backup intervals. To restore a file, copy it back to its original location.

cp /var/cache/rsnapshot/daily.0/home/user/file.txt /home/user/

Conclusion

You have successfully set up and configured Rsnapshot for backups on your Linux server. Regular backups will help you safeguard your data. Always test your backups and restoration procedure to ensure data integrity.

Resources