Creating backups with TimeVault

Clean Archivist


Many backup solutions vie for the user's attention. TimeVault follows a simple approach and integrates seamlessly with the Gnome desktop.

By Florian Effenberger

Beboy, Fotolia

The TimeVault backup tool automatically creates snapshots in the background, restoring files with the press of a button. To save space, the TimeVault tool only saves files that have changed since the last snapshot, and it simply creates links to all other files. If you delete a specific snapshot or if you lose a snapshot as a result of a crash, you only lose one version of the file.

So that TimeVault is available to each user on the system, you can assign permissions; however, only the system administrator is allowed to configure the program or delete snapshots.

Installing TimeVault

TimeVault [1] is a fairly recent development and currently available only in beta version. Because the program is quite new, you will not find prebuilt binaries in the repositories of even the most recent distributions. Source code and Ubuntu package downloads are available online [2].

To install the program, download timevault_0.7.5-1_i386.deb (or a more recent version, if available) and double-click. As of this writing, the project only offers a 32-bit version.

Package managers on 64-bit systems will not install this version without a workaround. For the workaround, first type

sudo apt-get install python-nautilus python-gobject-dev python-pysqlite2 python-gamin meld

to install the dependencies, then type

sudo dpkg -i --force-architecture timevault_0.7.5-1_i386.deb

at the command line to integrate the package.

To resolve further package dependencies, you might need to run apt. After the installation completes, TimeVault tells you that you need to log off from the GUI and log back on to use the program's full functionality.

Before you log off, it makes sense to configure your desktop so that the TimeVault Notifier tool will appear in your system tray when you log in. On Ubuntu, go toSystem | Preferences | Sessions and click Add, then enter the settings as shown in Figure 1 and press OK to confirm.

Figure 1: A few settings ensure that the TimeVault Notifier tool runs when you launch a session.

Initial Configuration

After logging back on, you should see the TimeVault icon at the top right-hand corner. When you move the mouse over the dimmed icon, it tells you that you still need to configure the program. To set up an initial configuration, right-click the Notifier icon and select Preferences. The system then prompts you for your password.

To modify the TimeVault configuration, you must be a privileged user - your user account must be able to run commands with sudo and as root. On Ubuntu, you just need to be a member of the admin group. To do this, type adduser username admin at the command line. Also, see the "Important Notice on sudo" box.

The TimeVault configuration window is neat and tidy (Figure 2) and consists of four tabs: General, Include, Exclude, and Expire. General is the tab for generic settings, and you can start by enabling automatic snapshots with Enable automatic snapshots.

Figure 2: Use this setting to enable automatic snapshots.

Show snapshot notifications lets you enable or disable notification for new snapshots, and Snapshots Root Directory lets you set the root directory below which TimeVault will store the snapshots. Ideally, the directory should be on a separate drive.

Other settings, such as the amount of free space to keep and the maximum file size to save, are available in the Advanced tab, which you can display by clicking the arrow.

The Include tab (Figure 3) lets you set the directories that the program includes in the snapshot, as well as the change interval. Saving the /etc directory after a wait of one minute is the default, and the snapshot will include any changes that occur in this period.

Figure 3: TimeVault lets you configure the directories to include in the snapshot.

The Add button lets you add directories, and the Exclude tab lets you define file patterns and directories that you do not want to back up. The defaults are useful and exclude temporary files. Make sure that TimeVault does not attempt to back up the snapshot directory.

By default, TimeVault automatically excludes the backup directory (the last item on the Exclude list). Backing up your complete home directory is not a good idea because this gives you too many temporary files. Instead, you should think about setting up dedicated folders for your documents and backing up these folders.

Finally, the Expire tab lets you specify when the program should automatically merge and delete snapshots. Pressing Save stores the configuration. A dialog box informs you of new directories that have been added.

The TimeVault Notifier displays a small clock icon to inform you of files to be added to a snapshot. Double-clicking the Notifier opens the Pending Snapshots dialog and shows you the files the program has tagged for backing up (see Figure 4).

Figure 4: The Pending Snapshots window shows files tagged for backing up.
Important Notice on sudo

When you add a user to the admin or wheel group, you give this user unrestricted system administration capabilities. In other words, the user could also cause damage to the system. Instead of this, you could add more granularity to sudo abilities. For details, type man sudoers.

Restoring

If the need arises, restoring files is a simple process with TimeVault - just right-click the TimeVault Notifier icon to launch the Snapshot Browser (Figure 5) as root, via sudo, or as a normal user. The superuser can view all the files in a snapshot, whereas non-privileged users only get to see the files for which they originally had permissions.

Figure 5: The Snapshot Browser shows you the files that you have created.

On top of the file list, you see a time list in which TimeVault stores the number of files and the file sizes for each snapshot. The file list itself organizes the files by time, path, size, and action (i.e., created, modified, and deleted).

To restore a specific file, go to the snapshot containing the file and select it. After you click Restore, TimeVault will ask you to confirm. To be on the safe side, the program does not use the original file name; instead, it adds the date and time the file was backed up. The file is now available on disk. If you no longer need a snapshot, you can remove it by right-clicking the timeline and selecting Delete all.

Conclusions

TimeVault demonstrated a few weaknesses on Ubuntu 8.04. The documentation consists of an obsolete wiki page, and the pending/existing snapshot view did not always perform reliably. On top of this, the current version still lacks Nautilus integration.

The TimeVault project has some interesting ideas, but is not currently suitable for regular use, especially not on production systems with critical data.

In some cases, the software completely failed to back up individual files. But if the project continues to make progress at the current rate, chances are that it will soon become an interesting alternative to larger and more complex backup solutions.

INFO
[1] Ubuntu wiki on TimeVault: https://wiki.ubuntu.com/TimeVault/
[2] TimeVault download page: https://launchpad.net/timevault/+download