Back in Time - Time machine for Linux
Here, I shortly describe the installation and useage of Back in Time in ubuntu karmic. Back in Time is not a full replacement for Time Machine, in particular the application awareness of Time Machine is unmatched.
Back in Time uses rsync snapshots and only copies the changed files. Due to file system limitations, folders have to be created / copied for every snapshot. The snapshots can be restored easily even without Back in Time by simply copying back the data from the latest snapshot.
The current packages in karmic (0.9.26) have a bug, preventing the backup when the system root “/” has been chosen. You can find fixed packages in my ppa https://launchpad.net/~martoss/+archive/ppa.
If you’re using kde:
sudo aptitude install backintime-kde
and for gnome:
sudo aptitude install backintime-gnome
In principal, one can also just install backintime-common and use the commandline client.
OK, so next is configuration which I describe here for the GNOME frontend. You can start Back in Time or Back in Time (root) from the system tools menu, depending on if you want to back up only your own directories or entire parts of the system. On a single user system I would recommend the latter.
The main window is separated into three parts. On the left side, the snapshots with date / name are shown, additionally the current state. While the middle part only provides shortcuts, you can navigate and restore from the selected snapshot in the right part. Lets come to setting up the backup.
Here, you specify the destination location for your snapshots (should reside on a *nix filesystem providing hardlinks, e.g. ext2/3/4 reiserfs, …), and the periodicity of the backup. I suggest every day but later I show how to combine this with cron/anacron allowing backups for machines once a day even if they’re not turned on at a specific time.
The next tab is the inclusion tab. Here you can specify the directories that should be included in backup.
You may want to exclude certain directories from the backup, such as cache folders, virtual machine files etc. This can be done here by either specifying a folder or file, or a pattern shown above. The settings here exclude also system directories that were never meant to backed up.
In the automatical removal window, you can define a policy, how to remove obsolete snapshots. You can throw away everything older than a certain time or depending on remaining space. “Smart remove”allows to keep snapshots in increasing distances similar to time machine. E.g. one every month, one for the last 2 weeks and the one from yesterday and today. Finally you can prevent the removal of snapshots with names.
In order to back up automatically e.g. once per day, you can add a (ana)crontab script. The useage of anacron allows a backup even if the computer was not turned on at the designated time. I would also suggest to ionice the backup task. Installation:
sudo aptitude install cron anacron
Then create a file called backintime in /etc/cron.daily/ with the following content and make it executable:
#!/bin/bash ionice -c3 nice -n 19 /usr/bin/backintime --backup-job >/dev/null 2>&1
e.g. by doing
sudo gedit /etc/cron.daily/backintime sudo chmod +x /etc/cron.daily/backintime
That’s it, at 0:00 or if you aren’t awake on next login, a small symbol will show up in the information area telling you that a BackInTime snapshot is currently created.