Total Pageviews

Saturday, 18 June 2016


Getting started with Tarsnap

There are 6 steps before you can begin your first backup with Tarsnap:

1. Install the Tarsnap client code

2. Set up the configuration file

  • We recommend that you begin with the default configuration file:
    On most systems (Linux, MacOS X, etc.)
    sudo mv \
        /usr/local/etc/tarsnap.conf.sample \
    Other systems (without sudo)
    mv \
        /usr/local/etc/tarsnap.conf.sample \
  • You may check this text file (comments are indicated with the # character). Do not worry about the keyfile; that will be created in step 5.

3. Sign up for a Tarsnap account

  • Sign up on the Tarsnap registration page.
  • You will receive an email asking you to confirm your registration.

4. Deposit funds into your account

  • Log into the Tarsnap account management interface and add funds to your account.
  • The initial deposit must be $5 or more.

5. Register the machine(s) on which you will be using Tarsnap

  • To register a machine with the Tarsnap server,
    On most systems (Linux, MacOS X, etc.)
    sudo tarsnap-keygen \
     --keyfile /root/tarsnap.key \
     --user \
     --machine mybox
    Other systems (without sudo)
    tarsnap-keygen \
     --keyfile /root/tarsnap.key \
     --user \
     --machine mybox
    with appropriate values substituted:
    • /root/tarsnap.key: file in which to store the keys used to create and access archives.
    • the email address you used to sign up with Tarsnap.
    • mybox: the desired machine name.
  • Enter your Tarsnap account password when prompted.

6. Keep your key file safe

  • Store your /root/tarsnap.key somewhere safe.
    If you lose tarsnap.key, you will not be able to access your archived data.
  • There are many ways to keep it safe:
    • Copy it to a different system.
    • Put it on a USB disk.
    • Give it to a friend.
    • Print it out (it is printable text).
    • Store it in a bank vault.
    Pick at least one and do it!



Downloading Tarsnap

At the present time, pre-built binaries are not available for Tarsnap — it must be compiled from the source code. Some operating systems include Tarsnap packages (e.g., the FreeBSD Tarsnap portNetBSD Tarsnap port), which automate the compiling and installation process.

If you wish to compile manually,
  1. Download the latest source tarball and SHA256 hash file (below).
  2. Proceed to Compiling Tarsnap.

Latest Tarsnap release

Tarsnap 1.0.37 (March 10, 2016)

You can see all of the changes between 1.0.36 and this version in the public git repository at
Major changes since version 1.0.36:
  • tarsnap-key(gen|mgmt|regen) now accept a --passphrase-time option, which specifies the duration to be spent on computing the derived keys used for encrypting the tarsnap key file.
  • tarsnap now accepts a --keep-going option when deleting or printing statistics about multiple archives.
  • tarsnap-keymgmt now accepts a --print-key-permissions option for listing the permissions contained in a key file.
  • tarsnap --print-stats now accepts a --csv-file option for printing statistics in comma-separated-value format.
  • tarsnap now accepts a --verify-config command which exits silently after checking the configuration file(s) for syntax errors.
  • tarsnap now looks for a server named "" instead of the historic "" hostname. This should have no user-visible effect in most configurations.
  • tarsnap now correctly warns if a sparse extract fails due to hardlinks.
  • tarsnap now prints a warning if creating an empty archive.


Client code for Tarsnap

Tarsnap is a secure, efficient online backup service: "Online backups for the truly paranoid".
 We strongly recommend that people use the latest official release tarball on
This repository is intended for developers who may wish to watch changes in progress, investigate bugs, or test new (unreleased) features.


A list of major changes in each version is given in

Building from git

Normal users should only use the signed tarballs from, but for experimental development, use:
autoreconf -i

Packaging notes

Bash completion scripts: optional configure argument --with-bash-completion-dir[=DIR].
  • If DIR is specified, it installs to that directory.
  • If DIR is left blank, it attempts to use pkg-config and bash-completion >= 2.0 to determine where to put the bash completion scripts. If your system does not match those requirements, please specify DIR explicitly.