Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
The Tarsnap GUI front-end is an open-source cross-platform Graphical User Interface for the popular Tarsnap secure online 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 front-end 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 in C++ with the help of Qt 5 Framework and uses the Tarsnap command-line programs under the hood, thus they need to be installed on your system for you to use the application.
For help on installing the Tarsnap command-line client programs visit tarsnap.com. For instructions on how to get the Qt SDK and build Tarsnap GUI read the INSTALL distribution file in the application repository.
Currently there are no prebuilt packages available for Tarsnap GUI, this will change in the near future. However if you're on any of the BSDs 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 the time being. Detailed instructions on how to build Tarsnap GUI for every supported platform are available in the INSTALL file.
Tarsnap GUI is confirmed to build and work fine on the following base versions of Operating Systems:
- OS X Yosemite
- FreeBSD 11.1
- NetBSD 7.0 & OpenBSD 6.0
- Ubuntu 14.04 LTS Trusty & latest 17.04 Zesty
- Linux Mint & Mate 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 via the Windows 10/WSL Ubuntu Bash), we're not currently considering Windows as one of our primary targets. This might change in the future.
The application has five main tabs, of which, the first three are of particular importance:
- 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.
- 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.
- The Jobs tab. A job is a predefined set of directories and files, as well as particular backup 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. Jobs can be backed up manually or scheduled for automatic backup according to a Daily, Weekly or Monthly schedule.
The remaining panes are Settings and Help, which are hopefully obvious enough in what they expose. Two other important benefits for using the GUI front-end include a Setup Wizard that helps you get up and running on a fresh system in no time and queued parallel operations; you can issue multiple backup, restore or delete operations in one go and they'll all be handled safely in parallel or on a first come first served fashion for mutually exclusive tasks like tarsnap -c, without further assistance from you. You can even close the app and let the work continue in the background until it's done.
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.
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 caveats 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 by default. That being said, the evaluation order should be:
- Any value passed as an argument overrides (including the ones from Tarsnap GUI)
- Any value in ~/.tarsnaprc overrides
- Any value in /etc/tarsnap.conf
Any value that is not explicitly sent as argument by the GUI to the CLI will default to the rc and conf configuration values, if any, so beware of that. By defeault the application will ignore CLI configuration files to avoid unpleasant surprises on your end. If you want to change that you can uncheck the "Ignore default configuration files" checkbox in Settings -> Backup pane.
Tarsnap strives towards native look and feel for all supported desktops.
Tarsnap GUI on macOS:
Tarsnap GUI on Ubuntu: