Difference between revisions of "Mac OS File Synchronization Software"

From Exterior Memory
Jump to: navigation, search
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
{{Outdated|October 2005|March 2012}}
 +
 
File Synchronization Software allows one to sync files between two folders, disks or computers.
 
File Synchronization Software allows one to sync files between two folders, disks or computers.
  
Line 4: Line 6:
  
 
==List of Software==
 
==List of Software==
 +
 +
===Synchronization Software===
  
 
Here are the main Synchronization software programs for the Mac, roughly in order or recommendation.
 
Here are the main Synchronization software programs for the Mac, roughly in order or recommendation.
Line 38: Line 42:
 
I did some extensive testing of Synchronize, Synk and ChronoSync.
 
I did some extensive testing of Synchronize, Synk and ChronoSync.
  
====Common Features====
+
===Common Features===
  
 
All software above has the ability to auto-mount Apple File Shares (AFP). A disadvantage of synchronisation over a Apple File Share is that the AFP protocol does not support extended permissions (ACL), and that it may be slow if you have lots of files to check. ChronoSync and Synk solve this problem by optionally allowing synchronisation using a control daemon on the remote host, and using their own protocol.
 
All software above has the ability to auto-mount Apple File Shares (AFP). A disadvantage of synchronisation over a Apple File Share is that the AFP protocol does not support extended permissions (ACL), and that it may be slow if you have lots of files to check. ChronoSync and Synk solve this problem by optionally allowing synchronisation using a control daemon on the remote host, and using their own protocol.
  
====ChronoSync====
+
===ChronoSync===
 
;Pro: Detects metadata changes, displays metadata, Optional own protocol for $10 more
 
;Pro: Detects metadata changes, displays metadata, Optional own protocol for $10 more
 
;Con: No live sync
 
;Con: No live sync
  
====Synk====
+
===Synk===
 
;Pro: Live sync, Optional own protocol
 
;Pro: Live sync, Optional own protocol
 
;Con: CPU intensive, can not exclude folders, does not detect metadata changes (though it is copied if the file is changed)
 
;Con: CPU intensive, can not exclude folders, does not detect metadata changes (though it is copied if the file is changed)
  
====Synk Pro====
+
===Synk Pro===
 
;Pro: Live sync, Optional own protocol, N-way sync
 
;Pro: Live sync, Optional own protocol, N-way sync
 
;Con: CPU intensive, does not detect metadata changes (though it is copied if the file is changed), slightly less intuitive user interface
 
;Con: CPU intensive, does not detect metadata changes (though it is copied if the file is changed), slightly less intuitive user interface
  
====Synchronize Plus====
+
===Synchronize Plus===
 
;Pro: Very easy to use preview window, displays size to copy, take per-folder or per-file based actions
 
;Pro: Very easy to use preview window, displays size to copy, take per-folder or per-file based actions
 
;Con: Does not retain basic metadata (file permissions), No live sync
 
;Con: Does not retain basic metadata (file permissions), No live sync
  
====Synchronize Pro====
+
===Synchronize Pro===
 
;Pro: Very easy to use preview window, displays size to copy, take per-folder or per-file based actions
 
;Pro: Very easy to use preview window, displays size to copy, take per-folder or per-file based actions
 
;Con: Expensive, No live sync, does not detect metadata changes (though it is copied if the file is changed)
 
;Con: Expensive, No live sync, does not detect metadata changes (though it is copied if the file is changed)
  
====Conclussion====
+
===Conclussion===
  
 
My recommendation is to buy Synk Pro if you like live synchronization, or ChronoSync if metadata means a lot to you. Synchronize Pro is a good (but more expansive) choice if you often like to preview the copy and delete actions. I would not recommend Synchronize Plus because it does not copy any metadata. In my case, all copies files ended up as world-writable. Not a great choice for your precious backups.
 
My recommendation is to buy Synk Pro if you like live synchronization, or ChronoSync if metadata means a lot to you. Synchronize Pro is a good (but more expansive) choice if you often like to preview the copy and delete actions. I would not recommend Synchronize Plus because it does not copy any metadata. In my case, all copies files ended up as world-writable. Not a great choice for your precious backups.
  
Synchronization software test
+
==Synchronization software test==
=============================
+
  
This test specifically targets synchronization software,  
+
This test specifically targets synchronization software, not backup software, were features like roll-back, historic archiving and the ability to burn things on CD/DVD/Tape are much more important. Some application listed here may be unfit for synchronization purposes, but may be fit for backup purposes.
not backup software, were features like roll-back, historic archiving  
+
and the ability to burn things on CD/DVD/Tape are much more important.  
+
Some application listed here may be unfit for synchronization purposes,  
+
but may be fit for backup purposes.
+
  
Interoperability with other synchronization application not tested.
+
Interoperability with other synchronization application not tested.Some synchronization applications will first create a database with properties of the files, so they can keep track what has been changed without the need to compare it with an other share. This technique makes it easier to create more intelligent synchronization software, but typically does not work with other synchronization software and requires you to create such a database the first time you run it.
Some synchronization applications will first create a database with  
+
properties of the files, so they can keep track what has been changed  
+
without the need to compare it with an other share. This technique makes  
+
it easier to create more intelligent synchronization software, but  
+
typically does not work with other synchronization software and requires  
+
you to create such a database the first time you run it.
+
  
 +
The answer are numbered according to the level of support it has for the listed feature:
 +
{|
 +
| 11-19 || feature is not supported at all
 +
|-
 +
| 21-29 || very limited support of this feature
 +
|-
 +
| 31-39 || supports this feature
 +
|-
 +
| 41-49 || has outstanding supports for this feature
 +
|}
  
Synchronization application basic tests
+
===Synchronization application basic tests===
---------------------------------------
+
(MUST pass these)
+
  
1) Handles basic sync: adding files to two clean shares
+
==== Test 1. Two-way sync: adding files to two clean shares ====
  11. no, all files are synced again, even duplicates
+
  12. no, only one file is copied
+
  31. yes, both new files are copied
+
  
2) Handles basic deletion: deleting file at each share
+
{|
  11. no, two files are added
+
! My Score !! Possible result
  12. no, one file is deleted, one is added
+
|-
  13. no, nothing happens
+
| 11 || no, all files are synced again, even duplicates
  31. yes, the two files are deleted
+
|-
 +
| 12 || no, only one file is copied
 +
|-
 +
| 31 || yes, both new files are copied
 +
|}
  
3) Handles basic multiple computers
+
==== Test 2. Handles basic deletion: deleting file at each share ====
  - make 3 shares with file1, file2, using synchronization app.
+
  - Delete file2 & add file 3 at share 1.
+
  - Synchronize share2 & share3. (to possibly confuse last sync times)
+
  - Synchronize share1 & share2.
+
  - Synchronize share2 & share3.
+
  11. no, three shares are not equal now
+
  12. no, three shares are equal, but not correct
+
  41. yes, three shares all have file1 & file3 only.
+
  
4) Handles conflicts: file modified on both ends
+
{|
  21. no, just overwrites the oldest one
+
! My Score !! Possible result
  22. no, just overwrites the smallest one
+
|-
  23. no, just overwrites the second one
+
| 11 || no, two files are added
  24. yes, logs alert and does not copy (cron mode)
+
|-
  31. yes, always ask (user intervention required)
+
| 12 || no, one file is deleted, one is added
  32. yes, always copies file to special location
+
|-
  41. yes, can be specified
+
| 13 || no, nothing happens
  42. yes, can be specified differently for cron & UI
+
|-
 +
| 31 || yes, the two files are deleted
 +
|}
  
Synchronization application intelligence tests
+
==== Test 3. Handles multiple computers ====
----------------------------------------------
+
* make 3 shares with file1, file2, using synchronization app.
(MAY pass these)
+
* Delete file2 & add file3 at share 1.
 +
* Synchronize share2 & share3. (to possibly confuse last sync times)
 +
* Synchronize share1 & share2.
 +
* Synchronize share2 & share3.
  
11) Smart time-state support: checks modification date, files size and md5 checksum
+
{|
  21. no, only checks file modification date only (not size)
+
! My Score !! Possible result
  22. no, checks file size only
+
|-
  31. yes, checks modification date and size
+
| 11 || no, three shares are not equal now
  32. yes, allow user to choose between size and/or modification date
+
|-
  41. yes, checks checksum only
+
| 12 || no, three shares are equal, but not correct
  42. yes, checks modification date and checksum
+
|-
  43. yes, allow user to choose between modification date, size and/or checksum
+
| 41 || yes, three shares all have file1 & file3 only.
 +
|}
  
13) Handles file renaming: file remains in folder, but is renamed
+
==== Test 4.  Handles conflicts: file modified on both ends ====
  11. no, file is copied both ways
+
  21. no, file is copied, old filename is deleted
+
  41. yes, file is renamed (checks inode)
+
  
14) Handles folder renaming: only name of a folder is changed
+
{|
  11. no, folder with contents is copied both ways
+
! My Score !! Possible result
  21. no, folder with contents is copied, old folder is deleted
+
|-
  41. yes, folder is renamed (checks inode)
+
| 21 || no, just overwrites the oldest one
 +
|-
 +
| 22 || no, just overwrites the smallest one
 +
|-
 +
| 23 || no, just overwrites the second one
 +
|-
 +
| 24 || yes, logs alert and does not copy (cron mode)
 +
|-
 +
| 31 || yes, always ask (user intervention required)
 +
|-
 +
| 32 || yes, always copies file to special location
 +
|-
 +
| 41 || yes, can be specified
 +
|-
 +
| 42 || yes, can be specified differently for cron & UI
 +
|}
  
Synchronization application feature tests
+
===Synchronization application intelligence tests===
-----------------------------------------
+
(SHOULD pass these)
+
  
21) Can synchronize between folder and disk
+
==== Test 11. Smart time-state support: checks modification date, files size and md5 checksum ====
  11. no, can only synchronize between two disks
+
  22. no, can only synchronize between two folders
+
  31. yes
+
  
22) Can make schedule
+
{|
  21. no
+
! My Score !! Possible result
  31. only manually by applescript
+
|-
  32. by program, simple
+
| 21 || no, only checks file modification date only (not size)
  33. by program, only if application is not closed
+
|-
  41. by cron
+
| 22 || no, checks file size only
  42. by program, separate for weekdays
+
|-
 +
| 31 || yes, checks modification date and size
 +
|-
 +
| 32 || yes, allow user to choose between size and/or modification date
 +
|-
 +
| 41 || yes, checks checksum only
 +
|-
 +
| 42 || yes, checks modification date and checksum
 +
|-
 +
| 43 || yes, allow user to choose between modification date, size and/or checksum
 +
|}
  
23) Can run in background
+
==== Test 12.  Handles file renaming: file remains in folder, but is renamed ====
  21. no, requires user interaction
+
  22. no, pops up, but can easily be clicked away
+
  31. yes, visible, non intrusive
+
  41. yes, not visible
+
  
24) Auto Mounts/unmounts disks
+
{|
  21. no
+
! My Score !! Possible result
  31. yes, only mount, never unmounts
+
|-
  32. yes, mount and always unmounts
+
| 11 || no, file is copied both ways
  41. yes, mount and unmount only if disk was not mounted before
+
|-
 +
| 21 || no, file is copied, old filename is deleted
 +
|-
 +
| 41 || yes, file is renamed (checks inode)
 +
|}
  
25) Has preview option
+
==== Test 13. Handles folder renaming: only name of a folder is changed ====
  21. no, immediately synchronizes
+
  22. yes, has preview, but cannot change anything
+
  31. yes, has preview and can skip items
+
  41. yes, has preview and can change synchronization direction
+
  
26) Preview is user friendly
+
{|
  21. no, has no preview
+
! My Score !! Possible result
  22. no, cannot change anything
+
|-
  23. no, can only change per file only
+
| 11 || no, folder with contents is copied both ways
  31. yes, can change per folder
+
|-
  41. yes, can change by any selection
+
| 21 || no, folder with contents is copied, old folder is deleted
 +
|-
 +
| 41 || yes, folder is renamed (checks inode)
 +
|}
  
27) Save deleted files
+
==== Test 14. Incremental copies ====
  21. no, files are always deleted without recoverability
+
  21. no, files are moved to trash; doesn't work for network disks
+
  31. yes, files are always moved to special folder
+
  41. yes, files are optionally moved to special folder
+
  42. yes, files are moved to special folder, and there is an easy recovery tool
+
  
28) Logging
+
{|
  21. no, nothing is logged
+
! My Score !! Possible result
  31. yes, only file copies OR deletions are logged (not everything)
+
|-
  32. yes, file checks are optionally logged too (verbose)
+
| 11 || No, always copies whole archive
  33. yes, only file name is logged, not path
+
|-
  41. yes, file copies and deletions are logged
+
| 31 || yes, only copies changed files
  42. yes, user customizable logging
+
|-
 +
| 41 || yes, only copies the part of the file that was changed
 +
|}
  
Metadata preservation
+
===Metadata preservation===
---------------------
+
(SHOULD pass these)
+
  
31) Retain Permissions and Ownership
+
==== Test 12. Metadata change detection ====
  11. no, can only run as user, and does not preserve permissions
+
  21. no, can run as root, but new files are made root
+
  22. no, can only run as user, but preserves permissions
+
  23. no, must run as root in GUI to handle this
+
  24. yes, always asks for manual input of password
+
  31. yes, must run as root in cron script to handle this
+
  41. yes, asks for manual input of password, only if needed
+
  42. yes, remembers password
+
  
32) Retain Access Control Permissions (e.g. chmod +a "_www allow delete" acl_file; ls -le)
+
{|
  11. no, ACL is not copied
+
! My Score !! Possible result
  31. yes, ACL is copied if the file is copied
+
|-
  41. yes, ACL changes are detected and copied, even if the file itself is not changed
+
| 11 || No, only detects changes in file contents
 +
|-
 +
| 12 || No, only detects changes in file modification time
 +
|-
 +
| 31 || Yes, detects changes in permissions
 +
|-
 +
| 41 || Yes, detect changes in ACL, or extended attributes
 +
|}
  
33) Retain HFS+ Attributes (e.g. SetFile -a V hidden_folder; GetFileInfo hidden_folder)
+
==== Test 21.  Retain Permissions and Ownership ====
  11. no, attributes are not copied
+
  31. yes, attributes are copied if the file is copied
+
  41. yes, attribute changes are detected and copied, even if the file itself is not changed
+
  
34) Retain Extended Attributes (e.g. xattr -w org.example.test some_value attribute_file; xattr attribute_file)
+
{|
  11. no, Extended Attributes are not copied
+
! My Score !! Possible result
  31. yes, Extended Attributes are copied if the file is copied
+
|-
  41. yes, Extended Attributes changes are detected and copied, even if the file itself is not changed
+
| 11 || no, can only run as user, and does not preserve permissions
 +
|-
 +
| 21 || no, can run as root, but new files are made root
 +
|-
 +
| 22 || no, can only run as user, but preserves permissions
 +
|-
 +
| 23 || no, must run as root in GUI to handle this
 +
|-
 +
| 24 || yes, always asks for manual input of password
 +
|-
 +
| 31 || yes, must run as root in cron script to handle this
 +
|-
 +
| 41 || yes, asks for manual input of password, only if needed
 +
|-
 +
| 42 || yes, remembers password
 +
|}
  
Filtering
+
==== Test 22.  Retain Access Control Permissions (e.g. chmod +a "_www allow delete" acl_file; ls -le) ====
---------
+
 
41) Can exclude files or folders
+
(Note: AFP does not support ACL, so an application would need it's own protocol to copy these)
  21. no
+
 
  22. yes, by full folder names only
+
{|
  23. yes, by full file names only
+
! My Score !! Possible result
  31. yes, by folder OR file only with pattern match
+
|-
  32. yes, by full folder and file names
+
| 11 || no, ACL is not copied
  41. yes, by files per folder
+
|-
  42. yes, by folder/file with pattern match
+
| 31 || yes, ACL is copied if the file is copied
  43. yes, by folder/file and regexp per folder
+
|-
 +
| 41 || yes, ACL changes are detected and copied, even if the file itself is not changed
 +
|}
 +
 
 +
==== Test 23.  Retain HFS+ Attributes (e.g. SetFile -a V hidden_folder; GetFileInfo hidden_folder) ====
 +
 
 +
{|
 +
! My Score !! Possible result
 +
|-
 +
| 11 || no, attributes are not copied
 +
|-
 +
| 31 || yes, attributes are copied if the file is copied
 +
|-
 +
| 41 || yes, attribute changes are detected and copied, even if the file itself is not changed
 +
|}
 +
 
 +
==== Test 24.  Retain Extended Attributes (e.g. xattr -w org.example.test some_value attribute_file; xattr attribute_file) ====
 +
 
 +
{|
 +
! My Score !! Possible result
 +
|-
 +
| 11 || no, Extended Attributes are not copied
 +
|-
 +
| 31 || yes, Extended Attributes are copied if the file is copied
 +
|-
 +
| 41 || yes, Extended Attributes changes are detected and copied, even if the file itself is not changed
 +
|}
 +
 
 +
===Filtering===
 +
 
 +
==== Test 31.  Can exclude files or folders ====
 +
 
 +
{|
 +
! My Score !! Possible result
 +
|-
 +
| 21 || no
 +
|-
 +
| 22 || yes, by full folder names only
 +
|-
 +
| 23 || yes, by full file names only
 +
|-
 +
| 31 || yes, by folder OR file only with pattern match
 +
|-
 +
| 32 || yes, by full folder and file names
 +
|-
 +
| 41 || yes, by files per folder
 +
|-
 +
| 42 || yes, by folder/file with pattern match
 +
|-
 +
| 43 || yes, by folder/file and regexp per folder
 +
|}
 +
 
 +
==== Test 32.  Can copy hidden files ====
 +
 
 +
{|
 +
! My Score !! Possible result
 +
|-
 +
| 22 || no
 +
|-
 +
| 31 || yes, always
 +
|-
 +
| 41 || yes, configurable
 +
|}
 +
 
 +
===Preview===
 +
 
 +
==== Test 31.  Has preview option ====
 +
 
 +
{|
 +
! My Score !! Possible result
 +
|-
 +
| 11 || no, always immediately synchronizes
 +
|-
 +
| 21 || yes, optional preview shows all files
 +
|-
 +
| 41 || yes, optional preview shows all actions (copy / delete / skip)
 +
|}
 +
 
 +
==== Test 32.  Folder view ====
 +
 
 +
{|
 +
! My Score !! Possible result
 +
|-
 +
| 11 || no, shows only file individually
 +
|-
 +
| 21 || yes, shows files in collapsable folder
 +
|-
 +
| 31 || yes, shows folders, include a per-folder summary of the amount of data to copy
 +
|-
 +
| 41 || yes, shows folders, include a per-folder detailed summary of actions to take
 +
|}
 +
 
 +
==== Test 33.  Preview actions ====
 +
 
 +
{|
 +
! My Score !! Possible result
 +
|-
 +
| 22 || yes, has preview, but cannot change anything
 +
|-
 +
| 31 || yes, has preview and can skip items
 +
|-
 +
| 32 || yes, has preview and can skip items once or permanently
 +
|-
 +
| 41 || yes, has preview and can change synchronization direction
 +
|}
 +
 
 +
==== Test 34.  Folder actions ====
 +
 
 +
{|
 +
! My Score !! Possible result
 +
|-
 +
| 11 || no, shows only files individually
 +
|-
 +
| 21 || yes, acknowledge all proposed actions per folder
 +
|-
 +
| 22 || yes, shows folders, and can change copy direction, ignoring deletes
 +
|-
 +
| 31 || yes, shows folders, and can change synchronization direction, including deletes
 +
|-
 +
| 41 || yes, can take all actions based on folder or multi-line selections
 +
|}
 +
 
 +
===Automated Backups===
 +
 
 +
==== Test 41.  Can make schedules ====
 +
 
 +
{|
 +
! My Score !! Possible result
 +
|-
 +
| 11 || no
 +
|-
 +
| 12 || no, but you can write a custom Launch script yourself
 +
|-
 +
| 21 || no, preview window always need to be confirmed, even if there are no conflicts
 +
|-
 +
| 22 || yes, only if application is not closed
 +
|-
 +
| 31 || yes, the application automatically starts at the scheduled time
 +
|-
 +
| 41 || yes, a daemon is tracking changes while you make them (live synchronization)
 +
|}
 +
 
 +
==== Test 42.  Advanced Scheduling options ====
 +
 
 +
{|
 +
! My Score !! Possible result
 +
|-
 +
| 11 || no, only manual scheduling
 +
|-
 +
| 12 || no, only able to schedule per day/week
 +
|-
 +
| 13 || no, will cancel scan if computer is off, instead of postponing them
 +
|-
 +
| 21 || yes, can schedule per weekday
 +
|-
 +
| 31 || yes, can postpose scan based on user activity
 +
|-
 +
| 32 || yes, can postpose scan based on open application
 +
|-
 +
| 33 || yes, can postpose scan based on network settings
 +
|-
 +
| 41 || yes, can postpose scan based on all above settings
 +
|}
 +
 
 +
==== Test 43.  Can run in background ====
 +
 
 +
{|
 +
! My Score !! Possible result
 +
|-
 +
| 11 || no, requires user interaction
 +
|-
 +
| 22 || no, pops up, but can easily be clicked away
 +
|-
 +
| 31 || yes, no feedback at all
 +
|-
 +
| 41 || yes, visible, non intrusive (e.g. menu bar or background)
 +
|}
 +
 
 +
==== Test 44.  Auto Mounts/unmounts disks ====
 +
 
 +
{|
 +
! My Score !! Possible result
 +
|-
 +
| 11 || no
 +
|-
 +
| 21 || yes, only mount, never unmounts
 +
|-
 +
| 32 || yes, mount and always unmounts
 +
|-
 +
| 41 || yes, mount and unmount only if disk was not mounted before
 +
|}
 +
 
 +
==== Test 45.  Custom sync protocol ====
 +
 
 +
{|
 +
! My Score !! Possible result
 +
|-
 +
| 11 || no
 +
|-
 +
| 31 || yes, faster than AFP sync
 +
|-
 +
| 32 || yes, more secure than AFP sync
 +
|-
 +
| 41 || yes, better metadata support than AFP sync
 +
|}
 +
 
 +
==== Test 46.  Archive deleted files ====
 +
 
 +
{|
 +
! My Score !! Possible result
 +
|-
 +
| 21 || no, files are always deleted without recoverability
 +
|-
 +
| 21 || no, files are moved to trash; doesn't work for network disks
 +
|-
 +
| 31 || yes, files are always moved to special folder
 +
|-
 +
| 41 || yes, files are optionally moved to special folder
 +
|-
 +
| 42 || yes, files are moved to special folder, and there is an easy recovery tool
 +
|}
  
42) Can copy hidden files
+
===Synchronization application speed tests===
  22. no
+
  31. yes, always
+
  41. yes, configurable
+
  
Synchronization application speed tests
+
==== Test 51.  Local Transfer speed test (little files, lots to copy) ====
-----------------------------------------
+
* Two empty shares. Add 100 files of 1 MB to one share. measure time.
(SHOULD pass these)
+
* Local connection
  
51) Transfer speed test (little files, lots to copy)
+
==== Test 51.  Remote Transfer speed test (little files, lots to copy) ====
  - Two empty shares. Add 100 files of 1 MB to one share. measure time.
+
* Two empty shares. Add 100 files of 1 MB to one share. measure time.
  - Local connection (6 MByte/s, 0.2 ms)
+
* Remote connection
  11. > 1 hour
+
  12. 30-60 minutes
+
  13. 20-30 minutes
+
  21. 10-20 minutes
+
  22. 5-10 minutes
+
  23. 3-5 minutes
+
  31. 2-3 minutes
+
  32. 1-2 minutes
+
  33. 35-60 seconds
+
  41. 20-35 seconds
+
  42. 15-20 seconds
+
  
52) Transfer speed test (little files, lots to copy)
+
==== Test 52Transfer speed test (little files, lots to copy) ====
  - Two empty shares. Add 100 files of 100 kB to one share. measure time.
+
* Two empty shares. Add 1000 files of 100 kB to one share. measure time.
  - Remote connection (90 kByte/s, 16 ms)
+
* Remote connection
  11. > 1 hour
+
  12. 30-60 minutes
+
  21. 20-30 minutes
+
  22. 10-20 minutes
+
  32. 5-10 minutes
+
  33. 3-5 minutes
+
  41. 2-3 minutes
+
  42. 1.5-2 minutes
+
  
53) Query speed test (lots of files, little to copy)
+
==== Test 53Query speed test (lots of files, little to copy) ====
  - Two shares with 5000 files of 20 kByte. Only 1 is changed. measure time.
+
* Two shares with 5000 files of 20 kByte. Only 1 is changed. measure time.
  - Local connection (6 MByte/s, 0.2 ms)
+
* Local connection
  11. > 1 hour
+
  12. 30-60 minutes
+
  13. 20-30 minutes
+
  21. 10-20 minutes
+
  22. 5-10 minutes
+
  23. 3-5 minutes
+
  31. 2-3 minutes
+
  32. 1-2 minutes
+
  33. 35-60 seconds
+
  41. 20-35 seconds
+
  42. 10-20 seconds
+
  43. 5-10 seconds
+
  44. 0-5 seconds
+
  
54) Query speed test (lots of files, little to copy)
+
[[Category:Comparison]]
  - Two shares with 5000 files of 2 kByte. Only 1 is changed. measure time.
+
[[Category:Software]]
  - Remote connection (90 kByte/s, 16 ms)
+
  11. > 1 hour
+
  12. 30-60 minutes
+
  13. 20-30 minutes
+
  21. 10-20 minutes
+
  22. 5-10 minutes
+
  31. 3-5 minutes
+
  32. 2-3 minutes
+
  41. 1-2 minutes
+
  42. 35-60 seconds
+
  43. 20-35 seconds
+

Latest revision as of 22:33, 10 December 2016

This article was written in October 2005, and last updated in March 2012. This article is no longer updated, and may be outdated.

File Synchronization Software allows one to sync files between two folders, disks or computers.

Synchronization is similar to backup software, but differs in that it allows copies both ways: the changes may have occurred on either side, while backup software always has a master side, which overrides the backup side. For backup software features like roll-back, historic archiving and the ability to make off-site backups (or previously: burn to DVD) are important. For synchronization software important features are the ability to detect which side has the latest version (e.g, if a file occurs on one side, it may either mean the file was created on that side, or that it was deleted on the other side, and the software needs to detect the difference), and graciously handle conflicts (e.g. when a file is changed on both sides).

List of Software

Synchronization Software

Here are the main Synchronization software programs for the Mac, roughly in order or recommendation.

Application Producer Price Notable features
ChronoSync econ technologies $40 (+$10) Flexible and powerful, for $10 adds custom remote backup protocol
Synk Decimus $40 Flexible and powerful, allows live synchronization
Synk Pro Decimus $60 Flexible and powerful, allows live synchronization
FoldersSynchronizer softoBe $40 Flexible and powerful
Synchronize X Plus Qdea $30 Basic synchronization, does not retain permissions
Synchronize X Pro Qdea $100 Flexible and powerful
GoodSync for Mac GoodSync $40 Feels very Windows-based
DropBox DropBox varies Stores your data in the cloud, you pay a yearly fee for the amount of data you store.

For more option, I recommend Joe Kissell's Review of nearly 100 Mac backup apps. While not all information is complete, it does give a good set of criteria to check for.

Backup Software

If you're mostly interested in simple backup software, SuperDuper ($28) or Carbon Copy Cloner (donationware) are good choices.

Comparison of Synchronize, Synk and ChronoSync

I did some extensive testing of Synchronize, Synk and ChronoSync.

Common Features

All software above has the ability to auto-mount Apple File Shares (AFP). A disadvantage of synchronisation over a Apple File Share is that the AFP protocol does not support extended permissions (ACL), and that it may be slow if you have lots of files to check. ChronoSync and Synk solve this problem by optionally allowing synchronisation using a control daemon on the remote host, and using their own protocol.

ChronoSync

Pro
Detects metadata changes, displays metadata, Optional own protocol for $10 more
Con
No live sync

Synk

Pro
Live sync, Optional own protocol
Con
CPU intensive, can not exclude folders, does not detect metadata changes (though it is copied if the file is changed)

Synk Pro

Pro
Live sync, Optional own protocol, N-way sync
Con
CPU intensive, does not detect metadata changes (though it is copied if the file is changed), slightly less intuitive user interface

Synchronize Plus

Pro
Very easy to use preview window, displays size to copy, take per-folder or per-file based actions
Con
Does not retain basic metadata (file permissions), No live sync

Synchronize Pro

Pro
Very easy to use preview window, displays size to copy, take per-folder or per-file based actions
Con
Expensive, No live sync, does not detect metadata changes (though it is copied if the file is changed)

Conclussion

My recommendation is to buy Synk Pro if you like live synchronization, or ChronoSync if metadata means a lot to you. Synchronize Pro is a good (but more expansive) choice if you often like to preview the copy and delete actions. I would not recommend Synchronize Plus because it does not copy any metadata. In my case, all copies files ended up as world-writable. Not a great choice for your precious backups.

Synchronization software test

This test specifically targets synchronization software, not backup software, were features like roll-back, historic archiving and the ability to burn things on CD/DVD/Tape are much more important. Some application listed here may be unfit for synchronization purposes, but may be fit for backup purposes.

Interoperability with other synchronization application not tested.Some synchronization applications will first create a database with properties of the files, so they can keep track what has been changed without the need to compare it with an other share. This technique makes it easier to create more intelligent synchronization software, but typically does not work with other synchronization software and requires you to create such a database the first time you run it.

The answer are numbered according to the level of support it has for the listed feature:

11-19 feature is not supported at all
21-29 very limited support of this feature
31-39 supports this feature
41-49 has outstanding supports for this feature

Synchronization application basic tests

Test 1. Two-way sync: adding files to two clean shares

My Score Possible result
11 no, all files are synced again, even duplicates
12 no, only one file is copied
31 yes, both new files are copied

Test 2. Handles basic deletion: deleting file at each share

My Score Possible result
11 no, two files are added
12 no, one file is deleted, one is added
13 no, nothing happens
31 yes, the two files are deleted

Test 3. Handles multiple computers

  • make 3 shares with file1, file2, using synchronization app.
  • Delete file2 & add file3 at share 1.
  • Synchronize share2 & share3. (to possibly confuse last sync times)
  • Synchronize share1 & share2.
  • Synchronize share2 & share3.
My Score Possible result
11 no, three shares are not equal now
12 no, three shares are equal, but not correct
41 yes, three shares all have file1 & file3 only.

Test 4. Handles conflicts: file modified on both ends

My Score Possible result
21 no, just overwrites the oldest one
22 no, just overwrites the smallest one
23 no, just overwrites the second one
24 yes, logs alert and does not copy (cron mode)
31 yes, always ask (user intervention required)
32 yes, always copies file to special location
41 yes, can be specified
42 yes, can be specified differently for cron & UI

Synchronization application intelligence tests

Test 11. Smart time-state support: checks modification date, files size and md5 checksum

My Score Possible result
21 no, only checks file modification date only (not size)
22 no, checks file size only
31 yes, checks modification date and size
32 yes, allow user to choose between size and/or modification date
41 yes, checks checksum only
42 yes, checks modification date and checksum
43 yes, allow user to choose between modification date, size and/or checksum

Test 12. Handles file renaming: file remains in folder, but is renamed

My Score Possible result
11 no, file is copied both ways
21 no, file is copied, old filename is deleted
41 yes, file is renamed (checks inode)

Test 13. Handles folder renaming: only name of a folder is changed

My Score Possible result
11 no, folder with contents is copied both ways
21 no, folder with contents is copied, old folder is deleted
41 yes, folder is renamed (checks inode)

Test 14. Incremental copies

My Score Possible result
11 No, always copies whole archive
31 yes, only copies changed files
41 yes, only copies the part of the file that was changed

Metadata preservation

Test 12. Metadata change detection

My Score Possible result
11 No, only detects changes in file contents
12 No, only detects changes in file modification time
31 Yes, detects changes in permissions
41 Yes, detect changes in ACL, or extended attributes

Test 21. Retain Permissions and Ownership

My Score Possible result
11 no, can only run as user, and does not preserve permissions
21 no, can run as root, but new files are made root
22 no, can only run as user, but preserves permissions
23 no, must run as root in GUI to handle this
24 yes, always asks for manual input of password
31 yes, must run as root in cron script to handle this
41 yes, asks for manual input of password, only if needed
42 yes, remembers password

Test 22. Retain Access Control Permissions (e.g. chmod +a "_www allow delete" acl_file; ls -le)

(Note: AFP does not support ACL, so an application would need it's own protocol to copy these)

My Score Possible result
11 no, ACL is not copied
31 yes, ACL is copied if the file is copied
41 yes, ACL changes are detected and copied, even if the file itself is not changed

Test 23. Retain HFS+ Attributes (e.g. SetFile -a V hidden_folder; GetFileInfo hidden_folder)

My Score Possible result
11 no, attributes are not copied
31 yes, attributes are copied if the file is copied
41 yes, attribute changes are detected and copied, even if the file itself is not changed

Test 24. Retain Extended Attributes (e.g. xattr -w org.example.test some_value attribute_file; xattr attribute_file)

My Score Possible result
11 no, Extended Attributes are not copied
31 yes, Extended Attributes are copied if the file is copied
41 yes, Extended Attributes changes are detected and copied, even if the file itself is not changed

Filtering

Test 31. Can exclude files or folders

My Score Possible result
21 no
22 yes, by full folder names only
23 yes, by full file names only
31 yes, by folder OR file only with pattern match
32 yes, by full folder and file names
41 yes, by files per folder
42 yes, by folder/file with pattern match
43 yes, by folder/file and regexp per folder

Test 32. Can copy hidden files

My Score Possible result
22 no
31 yes, always
41 yes, configurable

Preview

Test 31. Has preview option

My Score Possible result
11 no, always immediately synchronizes
21 yes, optional preview shows all files
41 yes, optional preview shows all actions (copy / delete / skip)

Test 32. Folder view

My Score Possible result
11 no, shows only file individually
21 yes, shows files in collapsable folder
31 yes, shows folders, include a per-folder summary of the amount of data to copy
41 yes, shows folders, include a per-folder detailed summary of actions to take

Test 33. Preview actions

My Score Possible result
22 yes, has preview, but cannot change anything
31 yes, has preview and can skip items
32 yes, has preview and can skip items once or permanently
41 yes, has preview and can change synchronization direction

Test 34. Folder actions

My Score Possible result
11 no, shows only files individually
21 yes, acknowledge all proposed actions per folder
22 yes, shows folders, and can change copy direction, ignoring deletes
31 yes, shows folders, and can change synchronization direction, including deletes
41 yes, can take all actions based on folder or multi-line selections

Automated Backups

Test 41. Can make schedules

My Score Possible result
11 no
12 no, but you can write a custom Launch script yourself
21 no, preview window always need to be confirmed, even if there are no conflicts
22 yes, only if application is not closed
31 yes, the application automatically starts at the scheduled time
41 yes, a daemon is tracking changes while you make them (live synchronization)

Test 42. Advanced Scheduling options

My Score Possible result
11 no, only manual scheduling
12 no, only able to schedule per day/week
13 no, will cancel scan if computer is off, instead of postponing them
21 yes, can schedule per weekday
31 yes, can postpose scan based on user activity
32 yes, can postpose scan based on open application
33 yes, can postpose scan based on network settings
41 yes, can postpose scan based on all above settings

Test 43. Can run in background

My Score Possible result
11 no, requires user interaction
22 no, pops up, but can easily be clicked away
31 yes, no feedback at all
41 yes, visible, non intrusive (e.g. menu bar or background)

Test 44. Auto Mounts/unmounts disks

My Score Possible result
11 no
21 yes, only mount, never unmounts
32 yes, mount and always unmounts
41 yes, mount and unmount only if disk was not mounted before

Test 45. Custom sync protocol

My Score Possible result
11 no
31 yes, faster than AFP sync
32 yes, more secure than AFP sync
41 yes, better metadata support than AFP sync

Test 46. Archive deleted files

My Score Possible result
21 no, files are always deleted without recoverability
21 no, files are moved to trash; doesn't work for network disks
31 yes, files are always moved to special folder
41 yes, files are optionally moved to special folder
42 yes, files are moved to special folder, and there is an easy recovery tool

Synchronization application speed tests

Test 51. Local Transfer speed test (little files, lots to copy)

  • Two empty shares. Add 100 files of 1 MB to one share. measure time.
  • Local connection

Test 51. Remote Transfer speed test (little files, lots to copy)

  • Two empty shares. Add 100 files of 1 MB to one share. measure time.
  • Remote connection

Test 52. Transfer speed test (little files, lots to copy)

  • Two empty shares. Add 1000 files of 100 kB to one share. measure time.
  • Remote connection

Test 53. Query speed test (lots of files, little to copy)

  • Two shares with 5000 files of 20 kByte. Only 1 is changed. measure time.
  • Local connection