File synchronization
From Wikipedia, the free encyclopedia
This article does not cite any references or sources. Please help improve this article by adding citations to reliable sources (ideally, using inline citations). Unsourced material may be challenged and removed. (September 2007) |
It has been suggested that this article or section be merged with Data synchronization. (Discuss) |
File synchronization (or 'synching' or 'syncing') in computing is the process of making sure that two or more locations contain the same up-to-date files. If you add, change, or delete a file from one location, the synchronization process will add, change, or delete the same file at the other location.
File synchronization may be one-way or two-way. In a one-way sync, also called mirroring, 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, files are copied in both directions, keeping the two locations in sync with each other. The term synchronization is used in this article to mean exclusively two-way synchronization, in contrast with 'mirroring'.
File synchronization maintains the same version of files on multiple locations, normally directories on a computer or removable storage devices such as USB flash drives. In other words, when two locations are synchronized, the most current version of a file is available at both locations, regardless of where it was last modified. File synchronization is useful for mobile workers, or others that work on multiple computers.
Although it is possible to synchronize directories manually, using a software tool is both faster and less error prone.
Contents |
[edit] Related tools
File synchronization tools are similar to Version Control tools (CVS, Subversion, etc.), distributed filesystems (Coda, etc.), and mirroring utilities (rsync, etc.), in that all these attempt to keep sets of files synchronized. However, only version control and file synchronization tools can deal with modifications to more than one copy of the files.
Version control tools are intended to deal with situations where more than one person wants to simultaneously modify the same file, while file synchronizers are optimized for situations where only one copy of the file will be edited at a time. For this reason, although version control tools can be used for file synchronization, dedicated programs require less overhead.
Distributed filesystems may also be seen as ensuring multiple versions of a file are synchronized. Unlike file synchronization, this is transparent to the user, and normally requires that the devices the files are stored on are always connected.
[edit] Features
Advanced file synchronizers will compare the differences between the two locations and synchronize only the file differences, rather than re-copying the entire file. In cases where one location is remote, this requires a software agent, a server, to be installed on the remote computer. A good sync program will also allow encryption for security, particularly when synchronizing across the Internet.
Other advanced features include:
- 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.
It is possible to synchronize multiple locations by synchronizing them a pair at a time.
[edit] Programs
There are a very large number of file synchronization programs available, either as open source, freeware (closed-source), or commercial licenses.
Here is an incomplete list of file synchronization programs:
[edit] Open-source
name | protocol | language | platforms | license | Latest Version (as of March 2009) | propagates deletions |
---|---|---|---|---|---|---|
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) |
JFileSync | file system | Java | Windows, Linux, OS X, other Unix | GPL | 2.2 [20-Jul-2007] | No |
FreeFileSync | file system | C++ | Windows, Linux | GPL | 1.17 [5-Apr-2009] | No |
WinSCP | (Secure) FTP | C++ | Windows | GPL | ||
rsync | rsync | Unix, Windows (with CygWin), OS X | GPL | |||
DirSync Pro | file system | Java | Windows, Linux, Mac OS X | GPL | 1.02 [22-Feb-2009] | No |
Conduit (generic framework) | Many | Python | Linux, Unix | GPL | ||
WebSynchronizer | file system or FTP | C++ | Windows | GPL | 1.5 [16-Jan-2007] | |
KDiff3 | file system (text files only!) | C++ | Windows, Linux, Mac OS X | GPL | 0.9.94 [17-Jan-2009] | |
Synkron | file system | C++ | Windows, Mac OS X, Linux | GPL | 1.5 [19-Dec-2008] | Yes (database in folder) |
[edit] Freeware, closed-source
- WizardSync simple interface allows sync local, USB and Network drives (freeware)
- BestSync sync files, FTP, outlook, and USB
- Gbridge Sync folders, Remote desktop, Live web browsing, etc. (Freeware)
- GoodSync (free version has trial period; after trial, features are limited)
- Microsoft ActiveSync syncs mobile devices
- Microsoft Sync Framework syncs files, data and services
- Microsoft SyncToy
- SyncBack (older version is freeware, newer version is commercial)
- SyncMate (basic version is freeware, expert version is commercial)
- Windows Live Sync (Previously Microsoft FolderShare)
- Windows Mobile Device Center
- XXcopy Super flexible, tons of switches, syncs/copies/deletes files and folders
[edit] Commercial
- ADCS
- AJC Directory Synchronizer
- Allway Sync (announced as freeware but it's actually a usage limited freeware trial)
- Bamboo File Sync and Backup Software
- DataSync 3
- Dmailer Sync
- Distributed Storage(limited freeware trial)
- Dropbox Online data storage and sync (up to 2GB free)
- ECMerge
- Handy Backup
- Migo Mobile Desktop
- OpenDrive Online data storage and sync (free beta)
- PowerFolder
- Robocopy
- SyncBackSE
- Synchromagic
- Syncplicity
- SugarSync
- Super Flexible File Synchronizer
- SynchroJet
- Synchronize It!
- SyncTogether OS X only
- ViceVersa Pro
- XXcopy Pro
- Zsync
[edit] See also
- Backup software
- Comparison of file comparison tools
- Distributed filesystem
- File comparison
- List of backup software
- Mirror (computing)
- Remote backup service
- Shared file access
- SyncML, a standard mainly for calendar, contact and email synchronization
- Version Control