Version 1 (modified by omry, 10 years ago) (diff)


Zync is a Java program that combines the power of rsync and zfs snapshots to backup remote servers. Configuration is very easy, and once configured, all you need to do is to add it to cron to be executed as often as you would like.

When Zync is executed, it performs rsync syncrhonzation of the specified servers, and when it's down it takes a ZFS snapshot of the current state. snapshots contains a timestamp for easy recognition:

$ ls -1 /storage/backup/.zfs/snapshot/

Zync can automatically delete snapshots older than a particular time (older than X days, hours or minutes). this ensures that your backup directory does not grows indefinitely.

Build instructions

Check out from repository, and build using ant (you need Build, jdk and ant installed):

$ svn co
$ cd zync
$ ant

generated files will be placed in a new build directory inside the project directory.


Copy the sample.conf to backup.conf, and edit it to match your setup. A typical backup block to backup and entire server root directory may look like:

        host : root@
        directory : /

        # Exclude files or dirs

You can have multiple backup blocks to backup more than one server.

Typically, you would want to setup the server that runs Zync so that it can access the backed-up machines without having to type a password. see PasswordLessSSHLogic for more information.


java -jar zync-version.jar [-v|--verbose] [--file=backup_configuration_file]

by default:

  • verbose is off
  • backup file is backup.conf