__- OSS Dev is fun -__

Osync - A two way local and / or remote sync script with fault tolerance, soft-deletion, resume support and more

Current versionv1.00a
Latest update: 31 July 2015
Read the documentation HTML PDF
Check latest dev snapshot



Osync is a robust bidirectional file synchronization tool written in bash and based on rsync. It works on local and / or remote directories via ssh tunnels. It's mainly targeted to be launched as cron task, with features turned towards automation among:

  • Execution time control
  • Fault tolerance with possibility to resume on error
  • Soft deletion, on-conflict backups with automatic cleanup
  • Alert notifications via email
  • Before and /or after time controlled local and / or remote command execution
  • File monitor mode

Osync has been successfully tested on CentOS 5, CentOS 6, CentOS 7, Debian 6.0.7, Linux Mint 14, 17, Ubuntu 12.10, FreeBSD 8.3, 10.1 and Windows using MSYS environment. Also, some basic tests have been done for Mac OS X 10.10 Yosemite.

How to ?

Grab a copy of osync from the link on this page or on github with the following command

$ git clone -b "v1.00a" https://github.com/deajan/osync

You can then install osync with with the following:

$ sh ./install.sh

This will install osync to /usr/local/bin and create a directory in /etc/osync wih a sample configuration file called sync.conf.

Then edit the sync.conf file according to your needs. Basically, just the three lines are important. SYNC_ID, master and slave locations.
Then go for a test run. If you feel confident, you may setup osync as a cron task with parameter "--silent" which will disable on screen messages.

$ osync.sh your_sync.conf --dry --verbose
$ osync.sh your_sync.conf --silent

Final words

I'll try to respond to any support query in my spare time.. Feel free to mail me at ozy [at] netpower.fr