#505 RSYNC over SSH: module path not used correctly


0.69 Kwisatz Haderach (revision 4276) built on Sat Jan 17 00:39:14 UTC 2009

From window$, rsync 3.0.5

The use of rsync with a SSH tunnel presents a problem: the module name is ignored and used as if it were a directory name.
This can be a problem because the module name not coincides with the directory (it may be the same, of course, and for this only today i discovered the problem!)

Here a sample:

name: user_one
home: /mnt/user_one
rsync module name: back_here
rsync module path: /mnt/user_one/back_here

name: user_two
home: /mnt/user_two
rsync module name: back_dir
rsync module path: /mnt/two_disk/back_dir

Note that the difference from the user is that the second user does the backup to a dir not descending their home. (because it is another phisical disk mounted here)

The problem is evident with these commands:

rsync.exe -v -rlt "/cygdrive/C/test" "user_two@freenas::back_dir"
this does a copy to /mnt/two_disk/back_dir and it's fine

rsync.exe -v -rlt --delete -e "ssh -l user_two -i id_dsa" "/cygdrive/C/test" "user_two@freenas:back_dir"
this does a copy to /mnt/user_two/back_dir
and this is not fine! in my case it try to copy several GB of data in the wrong disk!

Note that in this command before the module name there is only one ":" as stated in the manual (for this point the manual is confusing but with the double colon the rsync give an incomprensible error!)

A possible workaround is to use the path to destination directory, this works!