A A
RSS

Backing-up in Linux Made Easy with TimeVault: An In-Depth Review

Mon, Mar 2, 2009

Tweet this!

Introduction

File backups are a key element for every user and on every computer. Whether it be an office setting or a home desktop machine, backups are essential – your hard drive will fail at some point; you will need a backup, and you’ll be kicking yourself if you learn this lesson the hard way.

While it’s always been possible to use tools such as cron and rsync to backup files in Linux, there has never previously been an easy-to-use program that end-users and beginners could feel comfortable configuring, until now. TimeVault allows you to backup your system with snapshots; this means that if you lose a file (or an entire file system), or want to return a document to a previous state, it is as simple as selecting the file through TimeVault’s Snapshot Browser and clicking “Revert.” Though it is currently in Beta, I have found TimeVault to be a complete solution for backups, and as of yet haven’t discovered any single major problem.

Installation

TimeVault is a relatively new project, and as such it isn’t available through most distributions’ repositories. This makes installation a little bit harder, but not much. Here’s a step-by-step walkthrough of installing TimeVault, tailored to Ubuntu Linux (but will work on any platform, especially those that are debian-based):

Installing TimeVault
First, go to the TimeVault Download Site and select the most recent package appropriate for your distribution. For Ubuntu and Debian users, download the TimeVault 0.7.5 Beta Candidate DEB file; Other distributions will have to use the tarball version, which will not be covered here.

Select “Open with” and choose the GDebi Package Installer (or, it can be opened from the commandline with gdebi-gtk command). Once the download is complete, the package installer will open, and you will see this window:

Installing TimeVault

Clicking “Install Package” will install TimeVault, as well as any of its dependencies (shown in the “Status:” line). Following installation, you will be informed that it is necessary to log out and log back into Gnome in order to use the Nautilus features included in TimeVault. But before you do this, you should setup TimeVault to start when Gnome starts:

Startup Notifier
Go to your System menu, then Preferences, and open the Sessions control panel. Here, in the “Startup Programs” tab, you will see a list of applications that start when you log-in. TimeVault does not add itself by default, and though it is not entirely necessary, it makes sense that you add TimeVault to this list. To do so, click the “Add” icon, and you will see this dialog:

adding timevault to startup

For the fields, insert this information:
Name: Timevault Notifier
Command: /usr/bin/timevault-notifier

Comment:The Timevault Notifier Tray Tool

The “Name” and “Comment” fields can be different, but make sure the command line is correct, or it will fail to work properly. Now, TimeVault Notifier has been added to your startup programs list; just make sure it is checked off, and close the window:

list of startup programs showing timevault

Now you can logout and log back into Gnome, and your TimeVault Notifier will appear in your system tray.

Configuration

In order for TimeVault to start working, you have to configure it by telling it what to backup, and to where. TimeVault offers some basic configuration options, which can be accessed by right-clicking on your TimeVault Notifier tray icon, and selecting Preferences. (Note: If you choose not to have TimeVault-Notifier activate at startup, it is accessible through the Applications — System Tools menu)

TimeVault’s configuration is divided into four tabs: General, Include, Exclude, and Expire.

General
The General tab allows you to configure important aspects of your backup system, such as whether you want to have your snapshots automated, whether you want to be notified when files are backed up, and more importantly, where you want your backed-up files to be located. Select this under the “Storage” menu; obviously, an external hard drive, a network mount, or a remotely-mounted internet drive are the best options.

General Configuration Options in Timevault

Here, I created a folder on my external drive called “My Backups” and enabled automation.

The “Size Options” let you disable backing up of very large files (I set 128MB as my limit), and you can have TimeVault reserve space on your backup drive, in case you start to run out. The time increment is the amount of time TimeVault will wait each time it detects a new file to be backed up; so, if it detects a change to one set of files, and then to another set, I have told TimeVault to wait 5.0 mins before continuing on.

Include Directories

The Include tab is where you tell TimeVault what folders and files you want backed up.

TimeVault Config Include Tab

Here, I have selected to backup my documents, binary files, and photographs; by default, TimeVault will include your /etc folder, which contains the configuration files for your system. This can be very useful if you make a disastrous change to your computer at some point; you can simply revert to the old, working version.

You will probably want to tell TimeVault to create a “Baseline” copy of each directory you are backing up; this will force it to create a backup of the files in their current state. When you do this, they are added to the Pending Snapshots window, shown below.

Excludes

TimeVault comes pre-built with a list of files to be excluded. Most of these, such as /proc and /dev are folders used by the system,
that you wouldn’t want to backup. You should also probably add your backup folder to this list,
so you never run the risk of recursively backing up your backups (sounds bad, doesn’t it?)
If you look closely, you will see that your .mozilla folder is excluded from backups
(I am assuming this is because your web cache and cookies are constantly being modified,
so taking snapshots of this directory would be a waste of resources, and largely useless).

Unfortunately, this makes it difficult to backup your bookmarks.html file for firefox, since TimeVault only
allows directories to be included in the back-up list (see Limitations below);
the only workaround would be something like running:

mkdir bookmarks ; cd bookmarks ; ln -s ../bookmarks.html bookmarks.html

inside your firefox profile directory.

Expire
The Expire settings allow you to choose how often you want snapshots to be deleted. By default, TimeVault will remove a snapshot over a week old, if it has ten later snapshots (modifications), or uses over a particular amount of space. These settings should be fine for most users, but you may want to change it depending upon your computing habits; if you tend to constantly edit and save a file, but still want to be able to access the original versions of it, you may want to increase the value of the second row, for example.

The lower options allow you to control how TimeVault handles merging snapshots that were taken during a particular time-frame. You can select to have it keep only the most recent shot of a file per hour (the default), or longer, if you wish.

Backing Up

Now that TimeVault is properly configured, you should run your Baselines, to create a current snapshot of the files and directories you’ve included to be backed up. As stated before, this is done in the Includes tab of the Preferences window. Once you add these tasks, you can open up the “Pending Snapshots Window” by clicking on the TimeVault-Notifier icon in your system tray:

TimeValt Pending Snapshots Window

You can see here the operations TimeVault is waiting to perform, at what time they will be executed, what files will be backed up, and how large they are. Since this is its first run, the Event column will all be “Baseline,” but once TimeVault begins to notice files being edited, it will mark the event as “Changed.” You can also right-click on a job to abort it, or use the Delete icon.

Notifications
If you have notifications enabled, you will see popups like these every so often, letting you know what operations TimeVault has performed:

It’s a matter of personal taste whether you want to leave these enabled; during the base-line creation they can be constant, and somewhat annoying, but once the application is only monitoring your system for changes, it’s a nice reminder that your files are tucked away, safe and secure.

Output

Snapshot Browser
The Snapshot Browser is the interface used to view previous snapshots, revert to old versions, and restore files. Access it by right-clicking on the TimeVault icon in your tray, and selecting “Snapshot Browser.” You may wish to use the Root option if you want to restore certain files, such as those in the /etc directory. You can scroll chronologically using the top bar, and view the backup reports for each snapshot session:

Snapshot Browser

Nautilus Integration
In directories backed-up by TimeVault, you will see an icon that will launch the Snapshot Browser, showing you all previous snapshots of the files contained inside that folder.

menubar

Backup File Structure
While it’s not really something meant to be seen by the end-user, it’s worth mentioning the structure of TimeVault’s output; these are the files you will see if you browse your Backup directory. There are three folders:

Catalog – this contains an SQLite database, used by TimeVault to track backups, and is really of no interest to end-users.

Pending – this directory is typically empty; it’s likely the temporary directory used while files are being transfered into the Internal folder.
Internal – this is the folder of interest; it is where all your backups are kept. They are sorted first by owner (UIDs, or User IDs, are the unique numbers assigned to each user on your Linux system). uid-0 is root, and will contain items such as the configuration files found in /etc. Other UIDs are other users; your personal files are probably in a uid of 1000 or greater.

Each UID directory contains another folder, which is the day on which the snapshots are created. This follows the same lines as the interface in the Snapshot Browser. Going one level deeper will show you the files that have been backed up…

Filenames Include Hashes!
While all your files are in their original, unchanged format, they have been renamed with a hash of its contents preceding the original file name. So, you can view your backed-up files from here, but they will be a little harder to find. Better would be to use the Snapshot Browser, selecting the file you wish to see and clicking “Open.” While I understand this method of naming, read on in the “Limitations” section why I believe this might not be the greatest solution:

Limitations

Can’t reschedule times
One of the biggest gripes I have with TimeVault is that it doesn’t allow you to reschedule your backups for a later date, or specify a time (preferably during which you’re not using the computer) to do backups. While this is usually only a minor annoyance, it can become frustrating when TimeVault starts copying files when you’re right in the middle of something intensive. A nice feature would be able to postpone a backup in the “Pending Snapshots” window.

No encrypted backups
One of the things I really want in a backup program is the ability to automatically encrypt and password protect the backed-up files. Timevault doesn’t offer this, and based upon the manner in which it backs up files, I don’t think it will be a feature at any time in the future. The only workaround I can think of here is to use an encrypted filesystem, which is less than ideal in most configurations.

No Backups of Single Files
As far as I can tell, TimeVault will only allow you to backup directories, not single files. While this is what you want to do most of the time, it can cause problems. Backing up your firefox bookmarks list, for example, requires creating a directory, and putting a link to the bookmarks file inside the directory (as done above). This is something I’d really like to see fixed soon.

No quick restore without Timevault
Due to the way that TimeVault names files (including the hashes in the copied version’s filename), there’s no easy way to restore files using your file manager. Instead, you must use the Snapshot Browser to select an old version of a file to which to revert; not a terrible limitation, but in the event of a system meltdown, it would save some time.

Conclusion

TimeVault finally offers a complete, easy-to-use, intuitive backup system for Linux. While advanced and experienced users have been able to schedule backups using rsync, cron, and other tools, new users will find Timevault a comfort; knowing that their files can be easily and safely backed up, and reverted to an older state if necessary. The interface is relatively intuitive, and although the configuration could be a bit simpler, beginners should have no problem setting up TimeVault to keep their files safe.

I’m eagerly looking forward to the next release of TimeVault, and I hope they continue to add new features; backup software is an essential part of any operating system, and TimeVault gets the job done well in keeping user’s files safe.

Like this post?

5 Responses to “Backing-up in Linux Made Easy with TimeVault: An In-Depth Review”

  1. Rob says:

    Excelant idea. This software seems a bit buggy even for a beta (on Ubuntu). I tried “baselining” my directories to be backed up and I never see anything in Pending Snapshots show up nor any error messages. Any suggestions appreciated.

    • Anonymous says:

      Hey it’s little bit tedious.

      you need to click directory and highlight it and click on baseline

      You need to do this each of includes

  2. Matthew says:

    Hi Jonathan,
    Thanks for writing what looks to be a very good article on how to set up TimeVault. Will give it a go tonight
    Regards,
    Matt

  3. Will Clark says:

    Sorry i am probably just being “another Linux n00b” but i am having real trouble trying to REMOVE TimeVault….it just refuses to back up to my USB drive (i think a bug is submitted already) and i am now using another program unfortunately as this one looked hot! so if anyone could tell me how to uninstall i would be greatful!…. thanks

  4. andrew u frank says:

    to uninstall (i guess) open system -> synaptic
    then search for timevault and select it, right click on remove (or better complete remove)
    and click on the tick mark on top for ‘apply’

    i hope this works!

Leave a Reply

Weekly Poll

What's the best Linux distribution for desktops?

View Results

Loading ... Loading ...

Search TechThrob

Advertisement