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
MSBuild is now just another GitHub project as Redmond continues its path to the light.
Malware could pass data and commands between disconnected computers without leaving a trace on the network.
New rules emphasize collegiality in coding.
Upstart lands in the dust bin as a new era begins for Linux.
HP's annual Cyber Risk report offers a bleak look at the state of IT.
But what do the big numbers really mean?
.NET Core execution engine is the basis for cross-platform .NET implementations.
The Xnote trojan hides itself on the target system and will launch a variety of attacks on command.
Spammers go low-volume, and 90% of IE browsers are unpatched.
Adobe scrambles to release patches for vulnerable Flash Player.