The problem seems to be the default method used by rsync to determine which files need to be considered for copying is not appropriate for use between linux and cifs/smb mounted file systems.
My setup is a Maxtor Central Axis 1TB using CIFS mounted to a linux file system using a standard mount -t cifs …. command.
The initial rsync run identified my thirty one thousand RAW and JPG files and took an age to get through them all… as expected. I realized something was terribly wrong when I kicked off a test run immediately after the first completed as rsync was copying one file at a time regardless of if the file had changed or not.
I started down the path of having rsync perform a checksum on each file to determine if it should be copied or not; however, the checksum process is computationally expesive and was taking more time than just copying the file. Needless to say I didn’t even get all the way through assessing which files needed to be copied. Next I considered looking at the modification times only but for some reason opening the modify window (ex. –modify-window=10) did not have any affect. I ended up just looking at the size of each file.
rsync –size-only -trvvhP –no-whole-file /src_directory/* /cifs_mounted_remote_directory/
I suspect that there may be CIFS mounting options that would lend themselves to backups based on modification time; however, the types of files I’m concerned with are in a large binary format. Any modification of the file under normal use will produce a file of a different size (in 99% of cases). The monthly full copy will get the outliers.