Suppose you have a collection of files which are replicated on two different servers. The two replicas are then modified independently, and you want whatever changes made in one replica to be propagated to the other, so that both replicas remain in sync.
There are several file mirroring tools on Linux, such as rsync or duplicati. However, these tools are meant for “uni-directional” file sync (i.e., pushing or pulling incremental updates in one direction), and so two-way sync would require running such tools twice, one for each direction.
Unison is an open-source file synchronization tool that natively supports bi-directional file synchronization. Unison is available on multiple platforms including Linux, FreeBSD, Windows and MacOS X. In Linux, Unison is available as a command-line tool as well as a GUI program with GTK+ interface.
In this tutorial, I will describe how to synchronize files between two servers with Unison command-line utility.
Full article here:
How to synchronize files between two servers (Xmodulo)