Tutorial: Install and Configure Rsnapshot for Automatic Backups.

Data loss can be a major setback for any individual or organization, especially when important files and data are involved. To prevent such scenarios, it is recommended to have a reliable backup strategy in place. Rsnapshot is a free and open-source backup utility that can be used to backup both local and remote Linux systems. It uses rsync and hard links to efficiently create snapshots of the system, allowing for easy and quick restoration of lost or corrupted files.

In this tutorial, we will go through the steps to set up and use Rsnapshot for remote and local backups.

Prerequisites

  • A Linux system with root access.
  • A remote Linux system with SSH access enabled (for remote backup).
  • Basic knowledge of Linux commands.

Step 1: Install Rsnapshot

The first step is to install Rsnapshot on your local Linux system. To do this, run the following command:

sudo apt-get update
sudo apt-get install rsnapshot

This will install Rsnapshot and its dependencies on your system.

Step 2: Configure Rsnapshot

Once Rsnapshot is installed, we need to configure it according to our backup requirements. The main configuration file for Rsnapshot is located at /etc/rsnapshot.conf.

Open this file in a text editor of your choice:

sudo nano /etc/rsnapshot.conf

In this file, you will find various sections that define the backup parameters such as backup interval, backup location, and remote server details (if applicable). We will go through each section and make the necessary changes.

First, find the snapshot_root option and set it to the directory where you want to store the backups. For example, if you want to store the backups in /backup directory, the option should be set as follows:

snapshot_root   /backup/

Next, find the cmd_ssh option and set it to the path of the ssh command. This option is used when backing up remote systems using SSH. The default value is /usr/bin/ssh which should work for most systems.

cmd_ssh /usr/bin/ssh

Next, find the backup section and configure the backup parameters according to your requirements. For example, if you want to backup the /home directory on your local system, add the following lines:

backup  /home/  localhost/

This will backup the /home directory to a directory named localhost under the snapshot_root.

If you want to backup a remote system, add the following lines:

backup  remote:/home/  remote-server/

Replace remote with the hostname or IP address of the remote system and /home/ with the directory you want to backup. This will backup the remote system’s /home directory to a directory named remote-server under the snapshot_root.

Save and close the file once you have made the necessary changes.

Step 3: Test Rsnapshot Configuration

Before we proceed with the backup, it is recommended to test the Rsnapshot configuration to ensure that everything is working correctly. Run the following command:

sudo rsnapshot configtest

This will check the syntax of the rsnapshot.conf file and report any errors or warnings. Fix any errors or warnings before proceeding.

Step 4: Perform Backup

To perform a backup, run the following command:

sudo rsnapshot -v backup

This will create a backup of all the directories specified in the rsnapshot.conf file. The -v option is used to enable verbose output, which shows the progress of the backup process.

If you want to perform a backup of a specific backup interval, such as daily, you can use the following command:

rsnapshot -c /etc/rsnapshot.conf alpha

This will create a backup of all the backup points that are specified to be backed up daily in the Rsnapshot configuration file.

Note that you can substitute “alpha” with other backup intervals such as “hourly”, “weekly”, or “monthly” depending on your backup schedule configuration in the Rsnapshot configuration file.

Step 5. Set up a cron job for regular backups

After configuring Rsnapshot, it’s important to set up a cron job to run it regularly. This can be done by creating a file in the /etc/cron.d directory. For example, create a file named rsnapshot in the /etc/cron.d directory and add the following lines:

0 */4 * * * root /usr/bin/rsnapshot alpha
30 23 * * * root /usr/bin/rsnapshot beta
0 0 1 * * root /usr/bin/rsnapshot gamma

The above configuration will run Rsnapshot every 4 hours for the alpha backup, at 11:30 PM every Saturday for the beta backup, and on the first day of every month for the gamma backup.

Step 6. Restoring backups

To restore a backup created by Rsnapshot, navigate to the backup directory and copy the files back to their original locations. You can also use the rsync command to restore the backup:

rsync -av --delete /path/to/backup/ /path/to/restore/

Rsnapshot is a simple and efficient backup tool that allows you to take both local and remote backups. In this tutorial, we have covered the installation and configuration of Rsnapshot for remote and local backups. We have also shown you how to schedule automatic backups using a cron job and how to restore backups when needed. With Rsnapshot, you can have peace of mind knowing that your important data is safe and secure.

Scroll to top