Unison can run locally and in client-server mode, supports compression of transmitted data, providing the ability to optimally use the data channel. For ease of use, you can create profiles that specify directories to sync types of files to ignore, etc. The profiles are saved in plain text files with the extension *.prf (in the directory ~/.unison).
When you synchronize with remote computers, use SSH (Secure Shell), to synchronize more than two machines it is preferable to use a "star topology" when all client computers are synchronized through one computer-server. This helps to avoid conflicts that may arise when using "ring topology".
- Unison runs on both Windows and many flavors of Unix (Solaris, Linux, OS X, etc.) systems. Moreover, Unison works across platforms, allowing you to synchronize a Windows laptop with a Unix server, for example.
- Unlike simple mirroring or backup utilities, Unison can deal with updates to both replicas of a distributed directory structure. Updates that do not conflict are propagated automatically. Conflicting updates are detected and displayed.
- Unlike a distributed filesystem, Unison is a user-level program: there is no need to modify the kernel or to have superuser privileges on either host.
- Unison works between any pair of machines connected to the internet, communicating over either a direct socket link or tunneling over an encrypted ssh connection. It is careful with network bandwidth, and runs well over slow links such as PPP connections. Transfers of small updates to large files are optimized using a compression protocol similar to rsync.
- Unison is resilient to failure. It is careful to leave the replicas and its own private structures in a sensible state at all times, even in case of abnormal termination or communication failures.
- Unison has a clear and precise specification.
- Unison is free; full source code is available under the GNU Public License.
sudo apt install unison-gtk
May the Force be with you,