Unison - File synchronizer
Advantages
+ cross-platform (works on Windows and UNIX-like operating systems)
+ profile support
+ fast replica comparison (provided it's not the first comparison - see disadvantages)
+ accurate collision detection with a possibility to compare files by calling the diff program. The decision on collision elimination is made by the user
+ Support for many network protocols and very efficient networking even on slow links.
+ large number of options for working with replicas (exclusion of filepaths during comparison, synchronization of file attributes, etc.)
+ free and free software, written by scientists, not businessmen
Disadvantages
- (for Windows) you need to install GTK+ for working with GUI
- (for Windows) in the profile the path to the replica is saved and the disk is identified by its letter, which is inconvenient when working with external drives, because the same drive can be identified by different letters. In Linux this problem does not occur, because the disk is identified by ameddisklabel)
- the first replica comparison might take quite a long time
- profiles are a must
- possibly a non-trivial setting when creating profiles. See Working with Profiles
- program development is stopped. The authors are working on Boomerang (formerly Harmony) data synchronization framework
Conclusion
A handy, reliable, free cross-platform synchronization and backup program. This is true when working with multiple copies of valuable data on multiple carriers (external hard drive, home desktop, laptop, netbook, backup on a file server, work desktop...) under different operating systems.
Not convenient for a one-time synchronization of two directories, as it requires the creation of profiles, and the first comparison is long. For such purposes, it is better to use, for example, the synchronization utility from Total Commander.
Working with profiles:
Profiles are stored in text files (.prf) subdirectory of the .unison user directory .unison - UNIX or \Users\<user>\.unison - Windows). The file encoding is UTF-8, the line break is LF (UNIX).
Profiles can be created both through the GUI and manually. To create and edit profiles under Windows, you must use a third-party text editor (for example, Programmers Notepad).
It is desirable to always add two lines to profile files: perms = 0 (do not save access rights) and times = true (save times to createmodifiers for files) (by default there are no such lines in profile).
An example of profile file contents (to synchronize user's My Documents directory with its copy on the external drive F:)
root = C:\Users\user\Documents
root = F:\Users\user\Documents
perms = 0
times = true