rsnapshot Command: Tutorial & Examples

Managing backups

rsnapshot is a command-line tool for creating and managing backups on Linux servers. It uses rsync and hard links to efficiently store multiple versions of files and directories. rsnapshot is designed to be simple to set up and use, making it an ideal choice for beginners and experienced users alike.

Why is rsnapshot important?

Backups are crucial for data protection and disaster recovery. rsnapshot provides an easy and efficient way to create and manage backups, ensuring that your important files and directories are safe and can be restored in case of accidental deletion, hardware failure, or other unforeseen events.

How does rsnapshot work?

rsnapshot works by creating incremental backups, which means that only the changes made since the last backup are stored. It uses hard links to create multiple versions of files and directories without duplicating the data. This approach saves disk space and reduces the time required to perform backups.

When you run rsnapshot, it compares the source directory with the previous backup and copies only the modified or new files to the destination directory. It also creates hard links to the unchanged files, so they are shared between backups. This allows you to have multiple versions of your files without consuming additional disk space.

Typical problems solved by rsnapshot

  • Accidental file deletion: If you accidentally delete a file, you can easily restore it from a previous backup created by rsnapshot.
  • Hardware failure: In case of a hard drive failure or other hardware issues, rsnapshot allows you to restore your data to a new drive or server.
  • File corruption: If a file becomes corrupted, you can retrieve an earlier version from a previous backup.
  • Disaster recovery: In the event of a catastrophic event, such as a fire or flood, rsnapshot ensures that your data is safely backed up and can be restored to a new server.

Examples of using rsnapshot

Example 1: Creating a basic rsnapshot configuration

To start using rsnapshot, you need to create a configuration file. Here's an example of a basic configuration file:

sudo nano /etc/rsnapshot.conf

Add the following lines to the configuration file:

config_version  1.2
snapshot_root   /var/backups/
cmd_cp          /bin/cp
cmd_rm          /bin/rm
cmd_rsync       /usr/bin/rsync
cmd_ssh         /usr/bin/ssh
retain          hourly  6
retain          daily   7
retain          weekly  4
retain          monthly 3

Save the file and exit the editor.

Example 2: Running rsnapshot manually

Once you have configured rsnapshot, you can run it manually to create a backup. To do this, use the following command:

sudo rsnapshot -v hourly

This command will create an hourly backup according to the configuration file. The -v option enables verbose output, so you can see the progress and any errors that occur during the backup process.

Example 3: Restoring files from a backup

To restore files from a previous backup, you can use the rsync command. Here's an example:

sudo rsync -av /var/backups/hourly.0/ /path/to/restore/

This command will restore the files from the most recent hourly backup to the specified directory. The -a option preserves the file attributes, and the -v option enables verbose output.

Example 4: Checking the status of backups

You can use the ls command to check the status of your backups. For example:

ls -l /var/backups/

This command will list the contents of the backup directory, showing the different versions of your files and directories.

Example 5: Automating rsnapshot with cron

To automate the backup process, you can use the cron scheduler. Edit the cron table by running:

sudo crontab -e

Add the following line to the file to run rsnapshot every day at 2 AM:

0 2 * * * /usr/bin/rsnapshot daily

Save the file and exit the editor. rsnapshot will now run automatically according to the specified schedule.


rsnapshot is a powerful and easy-to-use tool for creating and managing backups on Linux servers. By following the examples provided in this tutorial, you can start using rsnapshot to protect your important files and directories. Remember to regularly check the status of your backups and test the restore process to ensure that your data is safe and can be recovered when needed.

Except where otherwise noted, content on this site is licensed under a CC BY-SA 4.0 license CC BY SA