The sys admin's daily grind: Backup2l
I'll Be Back
At his cozy home, sys admin Charly has always used rsnapshot to back up his data. Although things will be staying this way for server backups, he has found something more manageable for backing up the Kühnast family's desktop PCs.
Backups are inevitable, and that includes desktop PCs, even the ones at home. However, in my four walls, I do not need a professional enterprise backup warehouse, and I feel no genuine desire to pay the license fee for it. I back up everything on a small Synology NAS and the NAS, in turn, is backed up on two large USB drives.
On the NAS, I have shared a directory by the name of
linbackup; below that is a subdirectory for every machine to be backed up – a total of 14 right now. My children are obviously growing up and probably starting to hoard hardware. I really wonder who they take after. There is also a
gamelauncher directory; incidentally, this is where I back up the Windows partition.
Lately, the backup itself has been handled by backup2l , which I've tried out in the past few days as a lightweight alternative to rsnapshot . Backup2l can be controlled by cron and creates a configurable number of incremental backups. Three parameters are responsible for this in the
backup2l.conf configuration file.
MAX_LEVEL=<3> determines the number of levels, whereas
MAX_PER_LEVEL=<8> defines the number of incremental backups per level. In my case, backup2l creates hourly incremental backups; this is the lowest level, level 3. Once it has collected eight of them (
MAX_PER_LEVEL), backup21 creates a new level 2 backup, which saves all changes since the last level 2 backup. The level 3 backups are then deleted, and the process begins again (Figure 1).
Once backup21 has collected eight level 2 backups, it creates a new level 1 backup – this is a full backup.
MAX_FULL, the third parameter, lets you specify how many full backups can exist at the same time.
Save Yourself, If You Can
SRCLIST to define exactly what backup2l backs up,
SRCLIST=(/etc /root /home /var/ /usr/local)
and I can define exceptions. Backup2l distinguishes between files (
-name) and directories (
-path). Several exceptions can be linked by using
SKIPCOND=(-path "*.nobackup*" -o-name "*.o")
BACKUP_DIR to tell backup2l where to save the data:
If the destination directory, as in my case, is a network drive, the user must of course ensure that it is mounted in good time. In this example,
funghi is the name of my Ubuntu test machine. All of my desktop Linux boxes are named after pizzas, and my servers are named after Scottish islands – in both worlds, there is no big risk that I will run out of names any time soon.
backup2l.conf file contains two sections,
POST_BACKUP, where you can store shell commands that backup2l runs before and after performing the backup. You can use this approach to make sure that certain services are stopped during the backup.
Finally, I need to tell the tool that my part of the job is done – by flipping the
UNCONFIGURED=0 switch to
UNCONFIGURED=1. It's good to know that Funghi, Tonno (tuna), and the others are out of danger.
Buy this article as PDF
Linux Magazine will include the best of both magazines.
Popular open source encryption tool is vulnerable to attack
New “Yakkety Yak” edition emphasizes cloud and servers
Google finally enters the phone hardware business.
Innovative system adds a hard drive and Ubuntu Core to the RPi for an IoT hub.
Linux is two weeks younger than we thought!
The Apache Software Foundation considers retiring OpenOffice
Adobe won’t kill the plugin in 2017
Linux Foundation's big event celebrates the 25th anniversary of Linux