File synchronization
This article needs additional citations for verification. (May 2009) |
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
- Microsoft ActiveSync syncs mobile devices
- Cobian Backup
- Gbridge Sync folders, Remote desktop, Live web browsing, etc.
- Microsoft Sync Framework syncs files, data and services
- Microsoft SyncToy
- Windows Live Sync (Previously Microsoft FolderShare)
- Windows Mobile Device Center
Proprietary
- Dmailer Sync
- Dropbox Online data storage and sync
- Get Backup Mac OS X synchronization and backup software
- Handy Backup
- PowerFolder
- Robocopy
- SpiderOak
- SugarSync Online data storage and sync
- SyncBack
- SyncMate
- Syncplicity
See also
- Data synchronization
- Mirroring
- Backup software
- Comparison of file comparison tools
- File comparison
- List of backup software
- Remote backup service
- Shared file access
References
- ^ A. Tridgell (February 1999). "Efficient algorithms for sorting and synchronization" (PDF). PhD thesis. The Australian National University.
{{cite journal}}
: Cite journal requires|journal=
(help)