Time Drive

Note: The main Time Drive page has moved to http://blog.oak-tree.us/index.php/science-and-technology/time-drive.

With Time Drive it’s easy to keep all of your files files, photos, music and documents backed up.  Just set it up, and then let Time Drive do the rest of the work.

Should you ever delete a file that you needed, you can either quickly browse or search your archive for it.  And if you need to restore a bunch of files, you can add as many as you like to the queue and restore them with a single click.

While backup should be simple and easy, it should never compromise power or security.  Because it uses the open source library, Duplicity, for its backend, Time Drive has both in abundance.  It can creates incremental backup copies of files and directories by encrypting tar-format volumes.  It can then send those archives to a  local drive or over the internet via ftp, ssh/scp, rysnc, WebDav, or secure WebDav.  If that isn’t enough, Time Drive can also be used to backup to remote drives that have been mounted with virtual file systems like sshfs or smbfs.

If you’d like to know more about how Time Drive works, you can find additional information in the overview of version 0.1.1 or the updates found in version 0.2 or version 0.3.  You might even be interested in the factors that prompted its creation or it’s development.  If so, you can find more information on the project’s development page at Launchpad.

Development Progress

Powered By PythonTime Drive is still beta software, and may therefore have a few bugs or incomplete features.  Currently, it supports backup of any number of folders to either a local drive or remote server.  Files can be restored from the most recent backup either by directly browsing or searching.

Versions 0.2 and later of Time Drive use a different system for settings.  This has resulted in some difficulties for users upgrading from version 0.1.  Please see this post for a list of some of the most common problems and how they can be resolved.

If you use Time Drive, do us both a favor and give something back. If you're a developer, you might consider helping to write code. If you're an artist, you might be able to help improve the overall appearance of the app. If run into a problem or discover some sort of bug, please be sure to leave a bug report.  Squeaky wheels get grease, thus, please squeak loudly.

If all else fails, there's always cash. Money helps cover the hosting fees and bandwidth for this website. It's also used to motivate late night development through the purchase of caffeine or other consumables.


Should you have thoughts, comments, new ideas or merely desire to complain; I would love to hear from you. For bug reports or feature requests, the preferred method of communication is through the project development page at Launchpad.  All bug reports and blueprints are sent to all members of the development team.  This makes it more likely that your concern will be addressed quickly.

Should you like to contact me directly, I can be reached via email at:


Downloads and Installation

Time Drive is written in Python and PyQt, and as a result, is cross platform and will run on any platform where Duplicity can be installed.  It has been tested on Linux (Ubuntu 9.04, OpenSuse), Mac OS X and Windows XP, Vista and 7 (via Cygwin).


Time Drive requires Duplicity (version 0.6.04) or greater and a working installation of PyQt.

  1. Duplicity (0.604).  Precompiled 32 bit and 64 bit binary packages for Ubuntu (.deb) can be downloaded from the the Duplicity PPA, which is maintained by Michael Terry.  RPM packages and a source tarball are also available.
  2. Time Drive (0.3.1). Python source code and supporting files.  (Previous Versions: 0.1.1, 0.1.10, 0.2.2, 0.3.0)


Ubuntu linux

Ubuntu Linux.  Since version 0.2.2, Time Drive can be automatically installed and updated through the the Time-Drive-Devel PPA.  Instructions which explain the installation process can be found here.

Figure 1 - Install

Installation from Source

Duplicity.  To install Duplicity on Linux, select the version corresponding to your platform and install as you would any other package.  For Ubuntu, right click on the package after it has finished downloading and then select, “Install with GDebi Package Manager.”   Then, click on the “Install” button.

Synaptic will download and install all of the packages for ssh and webdav support.  However, for ftp support you will need to also install ncftp.  This is most easily done from the terminal, simply type:

sudo apt-get install ncftp

To install Duplicity on Mac OS X and on Windows, you will need to compile the various dependencies manually.  Detailed instructions for Mac OS X can be found here.

A standalone installer for Windows machines and an application bundle for Mac are currently being worked on and will be released when available.

PyQt.  General instructions for installing PyQt can be found here.  Platform specific guides for Windows, Mac OS X and Ubuntu Linux are also available.

Time Drive. After Duplicity and PyQt have been installed, download the Time Drive source code and extract it to a location on your hard drive.  Next, navigate to the recently extracted folder in a terminal window:

cd /path/to/Time-Drive

To install the program, type:

sudo python setup.py install

This will copy the necessary files to the correct locations on the hard drive.  You can then run the program by typing the following command from the terminal:


Time Drive 0.1.5 - Main Window

Configuration and Use

ConfigureThe first time that you run the program, you will need to choose which folders you would like to be backed up and where you would like to store the archives.  To do so, click on the settings button and then select the “General” tab of the dialog.

Backup to a Local Folder

If you would like to store your backup archives on a disk attached to your local folder, select, the “Local Backup Directory” underneath the “Where to save snapshots” options.  Then click on the folder icon.  This will launch the folder browser.

Time Drive supports backup to any locally mounted disk.  This includes USB devices or virtual file systems like sshs, smbfs, or s3fs.  If backing up to a locally mounted samba share, simply choose the mount point from the file dialog as you would with any other folder.

Backup to a Remote Server

You can configure the remote backup by clicking on the “Use a remote directory (SCP, WebDav or FTP)” or on the Amazon S3 option.  From the drop down list, choose the type of connection that will use to connect to the remote storage device.  As noted above, Time Drive supports ftp, ssh/scp, rsync, webdav (http), and secure webdav (https).

You can choose where you want to backup your files under the Next to the drop down list, type the address of your backup computer and the path to the folder.  In general, this will look like:


For example, the backup path that I use to a webdav or ftp site share might look like:


If you are backing up by scp or ssh, you will need to include a second slash after the server name, for example:


Then, enter the username and password that will use to access the server and some sort of passkey in the “Encrypt Files” box.

When finished, you can check the connection by clicking on the “Check Connection” button to the right of the url text box.  If Time Drive is able to connect to the store, a little green check mark will appear.

If your server uses a non-standard port, simply add that to your path.  For example, let’s say that you use port 2222 for ftp, instead of the more normal 22.  Your connection path would look like:


Note: You can find additional information regarding connection settings on the duplicity manual page.

Including Folders in the Backup

Folders can be added to the backup by clicking on the “Include” tab.  Then, click on the “Add” button and select which folders you want to back up.  When finished, press the “Ok” button.

Note: Each folder included in the backup will run as a separate duplicity script, as a result, you can always re-add that folder at a later time.  Should you do so, Time Drive will only copy the files that haven’t yet been included in the archive.  The existing history will be there and can be restored at any time.

Backup-NowScheduling Automated Backups

Time Drive can be automated through the cron service available on most *nix type operating systems.  To do so, go to the “Options” pane and select how often you would like the backups to run: Every Hour, Day, or Month.

On Mac OS X and Windows, you will need to have cron installed and configured for automatic backups to work correctly.  Due to the way crontab on Mac OS X functions, you will need to manually insert at least one other entry into the crontab file.  It does not allow for entries to be added programmatically until a valid crontab exists.

Starting a Backup Job

After you have configured where you want Time Drive to store its backups, you can start a new backup operation by clicking on the “Backup Now” button of the main window.Restore

Restoring Files from a Backup

To restore a file from your existing backup, start by clicking the “Open Archive Browser” button on the main window, which will then launch the archive browser.  In the normal mode, the browser will list the folders, subfolders and files that are currently stored in your archive.  You can either browse the listings directly, or make use of the integrated search.

When you find the file that you wish to restore, simply highlight it and click the “add to queue” button.  You can restore individual files, or complete folders.  When you are ready to start the restore operation, click the “Restore Files” button on the main window.  Because Duplicity won’t overwrite the original file, you will be prompted to select a destination folder.

If the file that you needed isn’t in the most recent snapshot, don’t worry.  Time Drive makes it easy to navigate through all of the snapshots that you’ve created.  Just use the left and right arrows to navigate to the right time and then push the refresh button to reload the file list.

Time Drive 0.1.5 - Archive Browser

Using the Advanced Restore Pane

Wrench and Screwdriver In addition to the files and folders included in the local backup settings, Time Drive can be used to browse and restore from any valid Duplicity archive.  To connect to a remote archive, click on the advanced settings button, which will make the advanced restore options visible.

Next, select the type of archive you are to which you are trying to connect (ftp, ssh, scp, rsync, webdav or secure webdav) and enter the url.  As in the general backup settings, you will need to follow general Duplicity conventions for urls.

For backups to ftp, webdav, or secure webdav, the url will have the general form:


For shh or scp, you will need to include a second slash after the computer name:


Then, enter the username and password of the remote computer and the encryption passphrase of the archive.  If the archive was created without encryption, leave the passphrase text box blank.  Note: Though Duplicity supports encryption and signing using a designated key, that functionality has not yet been implemented in Time Drive.

To load the archive browser, click on the “Open Archive Browser” button of the main restore toolbar.

Note: You can find additional information regarding connection settings on the duplicity manual page.

Time Drive - Advanced Restore Options

No Responses to “Time Drive”