rsnapshot is a filesystem backup utility based on rsync. Using rsnapshot, it is possible to take snapshots of your filesystems at different points in time. Using hard links, rsnapshot creates the illusion of multiple full backups, while only taking up the space of one full backup plus differences. When coupled with ssh, it is possible to take snapshots of remote filesystems as well.

rsnapshot is written in Perl, and depends on rsync. OpenSSH, GNU cp, GNU du, and the BSD logger program are also recommended, but not required. All of these should be present on most Linux systems. rsnapshot is written with the lowest common denominator in mind. It only requires at minimum Perl 5.004 and rsync. As a result of this, it works on pretty much any UNIX-like system you care to throw at it. It has been successfully tested with Perl 5.004 through 5.8.2, on Debian, Redhat, Fedora, Solaris, Mac OS X, FreeBSD, OpenBSD, NetBSD, and IRIX.

What you will need

At a minimum: perl, rsync

Optionally: ssh, logger, GNU cp, GNU du

Additionally, it will help if you have reasonably good sysadmin skills.

rsnapshot Installation

Operating System (link to the package)installation command
Arch Linuxsudo pacman -S rsnapshot
Debiansudo apt-get install rsnapshot
Fedorasudo yum install rsnapshot
Gentoo Linuxread HOW TO install on Gentoo
Ubuntusudo apt install rsnapshot
FreeBSDpkg install rsnapshot
NetBSDpkg install rsnapshot
OpenBSDpkg install rsnapshot
Mac OS Xbrew install rsnapshot or port install rsnapshot

To install from source, read the INSTALL.md here.

Locations

/usr/local/bin/rsnapshot is the rsnapshot program.

/usr/local/man/man1/rsnapshot.1 is the Man page (Manual).

/etc/rsnapshot.conf.default is the example config file.

/.snapshots/ is the location where filesystem snapshots will be saved.

Commands

Create new configuration file.

cp /etc/rsnapshot.conf.default /etc/rsnapshot.conf

Show the manual (man page) for rsnapshot tool.

man rsnapshot

More Info & Resources