This article needs additional citations for verification .(July 2021) |
Developer(s) | Benjamin Pierce and contributors |
---|---|
Initial release | 1998[1] |
Stable release | 2.53.5 [2] / 6 May 2024 |
Repository | |
Written in | OCaml |
Operating system | Linux, macOS, Windows |
Type | Synchronization |
License | GPLv3 |
Website | github |
Unison is a file synchronization tool for Windows and various Unix-like systems (including macOS and Linux). [3] 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. [4] [5] [6] [7] Syncing replicas directly Unison is independent of third-party providers.
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. [8] By using the rsync algorithm only changed blocks of files have to be transferred, thus saving bandwidth.
Unison can be called via the command line with parameters or controlled via profile files. [9] [10] 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.
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.
Before version 2.52, a frequent hassle for users was that both computers needed to run the same version of Unison, compiled with the same version of the OCaml libraries. [11] 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. This was solved in version 2.52: both client and server can run different versions of Unison, compiled with different OCaml versions, as long as both sides are running at least version 2.52. If one end is running version 2.48 or 2.51, the other end may run any version from 2.52 but the OCaml version must match. [12]
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.
Coda is a distributed file system developed as a research project at Carnegie Mellon University since 1987 under the direction of Mahadev Satyanarayanan. It descended directly from an older version of Andrew File System (AFS-2) and offers many similar features. The InterMezzo file system was inspired by Coda.
rsync is a utility for transferring and synchronizing files between a computer and a storage drive and across networked computers by comparing the modification times and sizes of files. It is commonly found on Unix-like operating systems and is under the GPL-3.0-or-later license.
File synchronization in computing is the process of ensuring that computer files in two or more locations are updated via certain rules.
In software development, distributed version control is a form of version control in which the complete codebase, including its full history, is mirrored on every developer's computer. Compared to centralized version control, this enables automatic management branching and merging, speeds up most operations, improves the ability to work offline, and does not rely on a single location for backups. Git, the world's most popular version control system, is a distributed version control system.
BackupPC is a free disk-to-disk backup software suite with a web-based frontend. The cross-platform server will run on any Linux, Solaris, or UNIX-based server. No client is necessary, as the server is itself a client for several protocols that are handled by other services native to the client OS. In 2007, BackupPC was mentioned as one of the three most well known open-source backup software, even though it is one of the tools that are "so amazing, but unfortunately, if no one ever talks about them, many folks never hear of them".
SugarSync is a cloud service that enables active synchronization of files across computers and other devices for file backup, access, syncing, and sharing from a variety of operating systems, such as Android, iOS, Mac OS X, and Windows devices. For Linux, only a discontinued unofficial third-party client is available.
Data synchronization is the process of establishing consistency between source and target data stores, and the continuous harmonization of the data over time. It is fundamental to a wide variety of applications, including file synchronization and mobile device synchronization. Data synchronization can also be useful in encryption for synchronizing public key servers.
Microsoft Sync Framework is a data synchronization platform from Microsoft that can be used to synchronize data across multiple data stores. Sync Framework includes a transport-agnostic architecture, into which data store-specific synchronization providers, modelled on the ADO.NET data provider API, can be plugged in. Sync Framework can be used for offline access to data, by working against a cached set of data and submitting the changes to a master database in a batch, as well as to synchronize changes to a data source across all consumers and peer-to-peer synchronization of multiple data sources. Sync Framework features built-in capabilities for conflict detection – whether data to be changed has already been updated – and can flag them for manual inspection or use defined policies to try to resolve the conflict. Sync Services includes an embedded SQL Server Compact database to store metadata about the synchronization relationships as well as about each sync attempt. The Sync Framework API is surfaced both in managed code, for use with .NET Framework applications, as well as unmanaged code, for use with COM applications. It was scheduled to ship with Visual Studio 2008 in late November 2007.
Grsync is a graphical user interface for rsync. rsync is a differential backup and file synchronization tool widely used in Unix-like operating systems.
FlyBack is an open-source backup utility for Linux based on Git and modeled loosely after Apple's Time Machine.
This is a comparison of online backup services.
DirSync Pro was an open-source file synchronization and backup utility for Windows, Linux and macOS. DirSync Pro was based on the program Directory Synchronize (DirSync), which was first released in February 2003 by Elias Gerber. He subsequently developed it with Frank Gerbig and T. Groetzner. DirSync Pro was released by O. Givi in July 2008, based on a branch of the DirSync code. Many parts of DirSync Pro have gone through major rewriting and redesign ever since.
Allway Sync is backup and file synchronization software that allows backing up and synchronizing files to the same or different drives, to different media, or to a remote server.
GoodSync is a backup and file synchronization program. It is used for synchronizing files between two directories, either on one computer, or between a computer and another storage device or between a computer and a remote computer or server.
This is a list of file synchronization software for which there are Wikipedia articles.
Unity Version Control is a cross-platform commercial distributed version control tool developed by Códice Software for Microsoft Windows, Mac OS X, Linux, and other operating systems. It includes a command-line tool, native GUIs, diff and merge tool and integration with a number of IDEs. It is a full version control stack not based on Git.
@MAX SyncUp is a free proprietary backup and file synchronization program developed by @MAX Software for Windows. It is targeted at individuals and small businesses. The software supports backup to locally writable folders, including attached USB devices, network drives and local directories. It also supports backup and synchronization to WebDAV servers, (S)FTP servers and the cloud storages such as Google Drive and Dropbox.
Syncthing is a free and open source peer-to-peer file synchronization application available for Windows, macOS, Linux, Android, Solaris, Darwin, and BSD. It can sync files between devices on a local network, or between remote devices over the Internet. Data security and data safety are built into its design. Version 1.0 was released in January 2019 after five years in beta.
FreeFileSync is a program used for file synchronization. It is available on Windows, Linux and macOS. The project is backed by donations. Donors get access to a Donation Edition that contains a few additional features such as an auto-updater, parallel sync, portable version, and silent installation. FreeFileSync has received positive reviews.
Proxmox Virtual Environment is a virtualization platform designed for the provisioning of hyper-converged infrastructure.
{{cite web}}
: Missing or empty |title=
(help)