Shinnok edited this page May 10, 2016 · 9 revisions
Clone this wiki locally

Tarsnap logo


The Tarsnap GUI frontend is an open source cross-platform Graphical User Interface for the popular Tarsnap backup service, that's easy to use, light and open as the Tarsnap command-line client itself.

While the original Tarsnap command-line client is geared towards server and scripted backups, facilitating workflows from inside the terminal, the GUI frontend application allows the desktop user to easily backup important files and directories using a lean and no-fuss interface while benefiting from the same power, flexibility, openness and cost effectiveness that the Tarsnap service implies and provides.

The application is written with the help of Qt 5 SDK and uses the Tarsnap command-line programs under the hood. Thus both are required to be installed on your system for you to use the app.

For help on installing the Tarsnap command-line client programs visit tarsnap.com. For the Qt SDK read the INSTALL distribution file in the application repository.

Currently there are no prebuilt packages available for either the Tarsnap command line programs nor the GUI. This might change in the near future. However if you're on FreeBSD or OS X, you can easily install from the ports and Homebrew collections respectively, for all other cases you're left with building from source. For more on that, see the instructions in the INSTALL file.

Tarsnap GUI is confirmed to build and work fine on the following minimum versions of the supported Operating Systems:

  • OS X Yosemite
  • FreeBSD 10.1
  • Ubuntu 15.04 Vivid
  • Ubuntu 14.04 LTS Trusty
  • Linux Mint 17.1 Cinnamon
  • Debian 8 Jessie
  • Debian 7 Wheezy (qtbase5-dev - wheezy-backports)
  • Fedora 22

While there's nothing stopping you from building and using the application on Windows (it should be possible without much tinkering), we're not currently considering Windows as one of our primary targets. This might change in the future, once we have an official support plan for the command-line client programs first (one must use Cygwin currently).

The application has five main tabs, of which, the first three are of particular importance:

  1. The Backup tab allows you to quickly add files and directories to backup on demand. This action is a one shot, kind of like a drop bin, for quickly putting important stuff to rest on Tarsnap.
  2. The Archives tab lists all of the archives that have been created using the current machine key. You can inspect, restore and delete archives from this view.
  3. The Jobs tab. A job is a predefined set of directories and files, as well as preferences, that you know are going to be backed up regularly. This could be your Work, Documents, Pictures folders, your financial documents or funny cats collection. There's no way to schedule automatic backups at this point, though we are working towards a simple solution for that, so in order to backup a job or all of your jobs, you have to open the application and attend to that manually.

The remaining panes are Settings and Help, which are hopefully obvious enough in what they expose. Two other bonus reasons for using the app include a Setup Wizard that helps you get up and running on a fresh system in no time and queued operations, you can issue several backup and/or delete operations in one go and they'll all be handled on a first come first served fashion without further assistance.

For a tutorial to help you get started quickly you can take a look at Using Tarsnap GUI on OS X.


Q: I found a bug and I have details, where should I report them.

A: Please use either GitHub issues or the tarsnap-users mail list. The first avenue is the preferred one.

Q: How do I back up files owned by the super user (root or admin)?

A: This is most easily achieved launching the app using the sudo command. However there's one distribution specific caveat that you should be aware of. Ubuntu for e.g. will maintain the regular user's $HOME directory environment variable upon sudo and thus the sudo'ed Tarsnap will use your existing user profile(the prefs and the jobs). Most other distributions don't do that, they clear the environment variables before launching the sudo'ed Tarsnap and you'll be presented with the Setup Wizard to define a new profile for the super user. In order to suppress that behavior(unless you do want to have a separate profile for root) you have to call sudo with the -E parameter. Example: sudo -E ./tarsnap-gui;

Q: Can I schedule automatic Job backups?

A: Yes, with some manual work. This is controlled by the "Include in scheduled backups" job option and the --jobs command line parameter. Running the application with --jobs will back up any jobs that have the aforementioned setting checked, in sequential order. No UI is displayed for this, log is sent to stdout/stderr and desktop notifications are enabled so you can notice when backups are running. So queueing automatic job backups could be as simple as creating a cron task executing "/path/to/tarsnap-gui -j" at your preferred time intervals or cadence. Cron is just an example, you can use whatever scheduler you want or have available on your platform with this simple method. More details into this have been outlined in an e-mail to the list. http://mail.tarsnap.com/tarsnap-users/msg01134.html

Q: Are there any caveats for the current version?

A: Yes, current version is 0.9, these include:

  • If there are non-fatal warnings issued during a backup create operation(like tar's "Permission denied - exit delayed") from the Tarsnap client and the process returns a non-zero exit code, the app will consider the backup operation failed, despite the fact that the archive has been created nonetheless. In order to recover from this condition, you have to switch to the Archives tab and force reload the Archives list (Ctrl+r) so the new Archive will appear in the list;

These will be handled in a following release.

Q: Will Tarsnap GUI conflict with existing Tarsnap configuration files?

A: The app doesn't know and doesn't care about any existing Tarsnap configuration files. That being said, the evaluation order should be:

  1. Any value passed as an argument overrides (including the ones from Tarsnap GUI)
  2. Any value in ~/.tarsnaprc overrides
  3. Any value in /etc/tarsnap.conf

Any value that is not explicitly sent as argument by the GUI will default to the configuration values, so beware of that. If you want the application to ignore all config files you can enable the "Ignore default configuration files" checkbox in Settings -> Advanced pane.


Tarsnap strives towards native look and feel for all supported desktops.