Osync - A two way local and / or remote sync script with fault tolerance, soft-deletion, resume support and more
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
I'll try to respond to any support query in my spare time.. Feel free to mail me at ozy [at] netpower.fr