TimeVault

Revision 37 as of 2007-07-15 13:49:30

Clear message

Overview

TimeVault is a simple front-end for making snapshots of a set of directories. Snapshots are a copy of a directory structure or file at a certain point in time. Restore functionality is integrated into Nautilus - previous versions of a file or directory that has a snapshot can be accessed by examining the properties and selecting the 'Previous Versions' tab.

Snapshots are protected from accidental deletion or modification since they are read-only by default. The super-user can delete intermediate snapshots to save space, but files and directories that existed before or after the deletion will still be accessible.

Screenshots

Here: TimeVaultScreenShots

Here: TimeVault/ScreenShots

What is a Snapshot

Note:

The following applies to TimeVault versions below 0.4.0. TimeVault has changed significantly since then, so the documentation will have to be rewritten accordingly.

Pre 0.4.0 Documentation:

After installing the .deb file, there are two steps required to complete installation:

  • You must configure TimeVault: Applications->System Tools->TimeVault, right-click on the notification icon to get the menu.

A snapshot is a copy of a directory at a certain point in time. Snapshots don't use space for the files that haven't changed but instead simply increment the link count for them. On Linux, when a file is deleted, the link count is decremented, but it isn't actually removed until the link count hits zero.

Only files are hard-linked this way. Directories have to be recreated for technical reasons (since a hard-link is actually the file it points to, you would find yourself in a completely different path if directories were hard-linked). Configuration

To configure TimeVault, go to the System->Administration menu and select 'Manage Snapshots'.

There are four tabs: General, Include, Exclude, and Management. General

  • Enable Automated Snapshots: By default, TimeVault will not automatically take snapshots of your system. Checking this box will tell it to automatically take daily snapshots.

  • Allow users readonly access to snapshots: If this box is not checked, only the superuser (root, or a sudoer) can access the snapshots. If it is, then users will be able to browse snapshots according to their rights. So a user that does not have access to a directory or file will not have access to the snapshot of the directory or file. Note that only read access is granted - snapshots cannot be changed except by the root user (in the Management tab)
  • Snapshot Root Directory: Where to store the snapshots. Ideally, you should pick a directory that is mounted onto another physical drive from the data you are backing up. This is so that, in the case of a hard-disk failure, the backups will remain intact (unless the drive containing the backups fails, in which case the current version of the data remains).

Include

Backup paths are listed here. Every directory that you want to be snapshotted should be added to this list.

Exclude

Paths or patterns to exclude from the snapshots should be listed here

TimeVault Development

TimeVaultRestructure (you should check this page for development information)

Alpha versions are available at https://launchpad.net/timevault/+download . Once feature-adding is stopped, it will enter Beta stage after some respectable period of use by Alpha-testers.

Discuss icon and look-and-feel issues in TimeVaultBranding.

Post ideas and wishlist/feature-requests in TimeVaultIdeas.

Ports to Non-Ubutntu systems or a WM other than GNOME are discussed in TimeVaultPorts.

Change Log

Version 0.6.7

  • Automatic reconnect to server (if restarted) from status icon
  • Changed debug message system to allow for varying degrees or verbosity (use --verbose multiple times for more debug information)
  • Added metadata saving system (this one is a pretty big change), so that file changes from apps like Beagle and Tracker (who ultimately churn through hundreds of MB a day) are not saved.
  • Added metadata caching dictionary so it needs to be queried only once for changed files per session. Dictionary auto-trims after 32K entries.
  • Added better information printout in Nautilus' property pages
  • Added Snapshot Browser handling for metadata (checkbox to hide metadata and show real changes only)
  • Fallback mechanism for determining if a file is text in the absence of a mime-type (e.g. extensionless files).
  • Diff viewer in Snapshot Browser

Version 0.6.8

  • Snapshot picker improvements - filter by dir or file, or by right-clicking on row
  • Improved use of SQLite API (i.e. rewrite all queries so parameters are escaped by DB engine) - avoids SQL injection through crafting malformed filenames

Version 0.6.9

  • Internal versioning - not for release

Version 0.6.10

  • Relatively seemless configuration reload: Reload configuration when changed without restarting Nautilus, Notifier, or server
  • More config options: Enable/disable nautilus integration from TimeVault Prefs dialog.

  • Pending Snapshots Browser: When notifier is clicked, list pending snapshots (abort snapshot functionality not yet implemented)
  • Change visualization of different snaptypes in picker so that the total height is still logarithmic(base 1.5), but the ratio is linearly proportional - this makes it easier to see what's happening
  • Pending files are resumed if the server restarts
  • Gracefully add metafile/baselines to snapshotter queue (v. <0.6.10 would do so more aggressively, thereby causing unacceptably long lags when initiating a metadata sigs for newly added paths)

  • Fixed a bug where files with carriage returns in them (yes - believe it or not they exist) can be backed
  • Efficiency improvements.

Version 0.6.11

  • Fixed Baseline generation bug where you could not generate them from the Prefs screen
  • Added a Take Baseline button in Prefs->Include

  • Added a Real and Meta filters in Snapshot Browser

Version 0.6.12

  • Compatibility changes for Python 2.4 on Gentoo

Version 0.6.13

  • Take Baseline button properly connected in Prefs->Include

FAQ

Check TimeVaultFrequentlyAskedQuestions to see if your question has been answered.

If not, please add it to the list of questions. Another place to look is on the forum post for [http://ubuntuforums.org/showthread.php?t=474973 TimeVault] or on [https://launchpad.net/TimeVault Launchpad]

Other snapshot solutions include:

  • dirvish
  • glastree
  • pdumpfs
  • rsnapshot

Contributors

Testing and Bug Triage

Logo Design

Documentation

Volunteers

If you are interesting in helping out, please volunteer here under the appropriate category or create one that suites you.

Testing and Bug Triage

Graphics

Documentation

Meetings

ToDo

  • KDE-port: I've done the GUI for KDE port, the code obviously needs a fair few changes but it's on the back boiler for a few weeks. -- KieranHogg


CategorySpec