Bringing Rsnapshot Back From the Dead on Debian
For those of us who use rsnapshot, moving to another backup solution is really not a pleasant thought. Debian 11 Bullseye brought along new features, updated packages, and a new kernel. Unfortunately it also dropped support on some packages, namely rsnpashot. This was done, I’m sure with a purpose to keep packages that are still being developed running in the latest distro. And since Debian usually runs for about two years between major update version it was made that rsnapshot was to not be added the the Debian 11 release due to rsnapshot not being maintained for two years.
What this means for us users of rsnapshot is those who run Debian workstations, servers, and things like Proxmox is that our backup snapshotting solution was not longer usable. I actively tried to stay away from Debian 11 until they could add the package back in but since each release freezes packages rsnapshot could never be brought back in. It could be back-ported but even at this current time, no new mainainter has taken the reins to rsnpashot.
This brought me to where Proxmox 6.x would lose security support and it was required to update to 7.x which as we all know runs on Debian 11. After migrating my VMs and my containers I then thought of what I could use instead. rsync would work fine but the snapshotting features of rsnapshot were what I loved about rsnapshot. Ultimately I decided to bring rsnapshot back from the grave and install it from source onto my Debian 11 server. Here is what I did.
Prerequisites
We need a few packages that usually don’t come installed by default in Debian that are designed to install packages from source.
$ sudo apt update
$ sudo apt install build-essential make gcc git
We will need git for the next step where we download rsnapshot from Github.
$ git clone https://github.com/rsnapshot/rsnapshot
Installation
$ cd rsnapshot
$ ./autogen.sh
$ ./configure --sysconfdir=/etc
$ sudo make install
$ sudo cp /etc/rsnapshot.conf.default /etc/rsnapshot.conf
If you already have a rsnapshot.conf you can’t skip the last step and but in your own config.
You should also test your config syntax to make sure everything is kosher. (Remember rsnapshot requires tabs ONLY!! NO SPACES.)
$ /usr/local/bin/rsnapshot configtest
You may have noticed that rsnapshot is being called from /usr/local/bin/ rather than from /usr/bin and I think that is how Debian and perhaps other distros will keep non-repo files separated. Make sure your scripts have this in consideration as this caused all of my rsnapshot instances to fail until I fixed the binary file location.