Unison is a
file synchronization tool for
Windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
and various
Unix
Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and ot ...
-like systems (including
macOS
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
and
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
). It allows two replicas of a collection of files and directories to be stored on different hosts (or different disks on the same host), modified separately, and then brought up to date by propagating the changes in each replica to the other. Syncing replicas directly Unison is independent of third-party providers.
Features
Features of Unison include to handle file changes on both sides of replication; conflicts (same file changed on both sides) are displayed and can be resolved manually, optionally creating backups of changed files. Unison allows synchronization via computer networks (LAN, Internet) by direct connection (socket) or tunneled via ssh. By using the
rsync algorithm only changed blocks of files have to be transferred, thus saving bandwidth.
Use
Unison can be called via the command line with parameters or controlled via profile files. It can be executed interactively or batch-controlled automatically. In batch mode, unique changes are automatically synchronized. Files with replication conflicts are skipped.
After startup, Unison checks the file inventory per directory or computer and compares the timestamps of the files. If it detects changes, the changes to the corresponding files are analyzed in more detail. Afterwards Unison creates a replication list with suggestions for their synchronization and marks conflicts that cannot be resolved automatically.

GUI versions of Unison exist for interactive use. Under Windows and Linux they are generally based on GTK+. The GUI versions allow an easier overview of the replicas and the proposed synchronization. Changes can be marked individually by keyboard or mouse and then implemented in bundles.
Advantages and disadvantages, comparison with other open-source software
Compared to rsync, Unison is fully bi-directional and allows the user to detect and reconcile conflicts when both copies of a file have been changed since the last synchronization.
A frequent hassle for users is that both computers must be running the same version of Unison, compiled with the same version of the
OCaml
OCaml ( , formerly Objective Caml) is a general-purpose programming language, general-purpose, multi-paradigm programming language which extends the Caml dialect of ML (programming language), ML with object-oriented programming, object-oriented ...
libraries.
This creates problems, since, e.g., Debian Linux's APT system will not provide the ability to install an arbitrarily chosen version of the software or one compiled with any desired version of the OCaml libraries, if that is what is required by a second machine running a different operating system or packaging system.
Unison differs from Syncthing in several ways, the main one being that Syncthing is designed for always-on, automated synchronization, whereas Unison is designed for synchronization that is triggered and monitored by the user. Syncthing is peer-to-peer, while Unison is not.
See also
*
Comparison of file hosting services
This is a comparison of file hosting services which are currently active. File hosting services are a particular kind of online file storage; however, various products that are designed for online file storage may not have features or characteri ...
*
Comparison of file synchronization software
*
Comparison of online backup services
This is a comparison of online backup services.
Online backup is a special kind of online storage service; however, various products that are designed for file storage may not have features or characteristics that others designed for backup have ...
References
External links
Unison home pageUnison source code
{{DEFAULTSORT:Unison (Software)
File sharing software for Linux
File copy utilities