Rsync command to synchronize two NTFS drives?
Solution 1:
With rsync on unix, use --archive, and don't forget the --sparse and --hard-links options. I don't know if NTFS or the NTFS driver you use (ntfs-3g or kernel) supports sparse files and/or hardlinks, but it's good practice when using rsync for backups.
Also remember that --archive doesn't do --acls and --xattrs, but with NTFS, that doesn't matter.
I don't know how different rsync behaves on a Windows system, though.
Solution 2:
To rsync between Linux ext4/xfs and windows ntfs mounts
OR
To rsync between two ntfs mounts :
If the intent is to back-up the contents to ntfs mount using rsync and only transfer delta to ntfs partition, don't use rsync with archive (-a) option.
rsync archive is equivalent to -rlptgoD and doesn't work with ntfs partition effectively.
Instead, try:
rsync -rvh --size-only --progress /path/to/ext4/ /path/to/ntfs/
rsync -rvh --size-only --progress /path/to/ntfs1/ /path/to/ntfs2/
Example:
[ram@thinkred1cartoon ~]$ df -PhT
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/rhel-home xfs 192G 175G 17G 92% /home
/dev/sdb2 fuseblk 671G 564G 107G 85% /run/media/raman/Windows7_OS
/dev/sda2 fuseblk 1.6T 513G 1.1T 32% /run/media/raman/Seagate
rsync -rvh --size-only --progress /home/ /run/media/raman/Windows7_OS/
rsync -rvh --size-only --progress /run/media/raman/Seagate/ /run/media/raman/Windows7_OS/
Where:
-r = recursive
--size-only = skip files that matches in size
-v = verbose (optional)
-h = human readable (optional)
--progress = progress (optional)
Here are some more rsync hacks