Jump to content

File synchronization

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Pizzaman79 (talk | contribs) at 14:17, 29 June 2009 (→‎Proprietary: adde AllWay sync and re-added FreeFileSync (which was removed from the table for alledgedly being proprietary)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

File synchronization (or 'synching' or 'syncing') in computing is the process of making sure that files in two or more locations are updated through certain rules. In one-way sync, also called mirroring, updates files are copied only from a 'source' location to a 'target' location, or locations, but no files are copied back to the source location. In two-way sync, updated files are copied in both directions, usually with the purpose of keeping the two locations identical to each other. The term synchronization is used in this article to mean exclusively two-way synchronization.

File synchronization is commonly used for home backups on external hard drives or updating for transport on USB flash drives. The automatic process prevents copying already identical files and thus can save considerable time from a manual copy, also being faster and less error prone.[1] It is particularly useful for mobile workers, or others that work on multiple computers. It is possible to synchronize multiple locations by synchronizing them a pair at a time.

Common features

  • Encryption for security, particularly when synchronizing across the Internet.
  • Compressing any data sent across a network, again this requires a server.
  • Being able to detect 'conflicts' where a file has been changed on both sources, as opposed to where it has only been changed on one. Not detecting conflicts, and instead overwriting the less recently edited file, can cause loss of data.
  • Specific support for using an intermediate storage device, such as a removable flash disc, to synchronize two machines. Although most synchronizing programs can be used in this way, providing specific support for this can reduce the amount of data stored on the device.
  • The ability to preview any changes before they are made.
  • The ability to view differences in individual files.

Programs

There are a very large number of file synchronization programs available, either as open source, freeware (closed-source), or proprietary licenses.

Here is an incomplete list of file synchronization programs:

Open-source

name protocol language platforms license Latest Version (as of March 2009) propagates deletions
Conduit (generic framework) Many Python Linux, Unix GPL
DirSync Pro file system Java Windows, Linux, Mac OS X GPL 1.02 [22-Feb-2009] No
JFileSync file system Java Windows, Linux, OS X, other Unix GPL 2.2 [20-Jul-2007] No
Unison similar to rsync; uses SSH (or file system) as transport OCaml Windows, Linux, OS X, other Unix GPL 2.27.57 [20-Jan-2008] Yes (centralized database)

Freeware, closed-source

Proprietary

See also

References

  1. ^ A. Tridgell (February 1999). "Efficient algorithms for sorting and synchronization" (PDF). PhD thesis. The Australian National University. {{cite journal}}: Cite journal requires |journal= (help)