On Fri, 10 May 2002, terrell Larson wrote: > If rsync is directed to copy a directory tree into another machine and > the target directory does not exist then rsync will not create the > required path
Dave Dykstra just recently responded to another user that this is the intended behavior of rsync. It will create one level of new directory in the destination, but no more. You could make the command you cited above work by specifying "etc" rather than "etc/": rsync -av --progress -e "ssh -1" /etc $1:/altsync/$HOSTNAME This will create the $HOSTNAME dir, if needed, but you can't use anything deeper than one directory in the source path. The other way to go is to use the --relative option: rsync -avP --relative -e "ssh -1" /any/path/at/all $1:/altsync/$HOSTNAME This will create the $HOSTNAME dir and all the /any/path/at/all dirs, as needed. > The [option-specifying form] of the -e option is not documented. > IMHO it should be. I agree. I've whipped up the following patch for rsync.yo, which I will commit to CVS in a moment: Index: rsync.yo --- rsync.yo 2002/05/09 21:44:46 1.99 +++ rsync.yo 2002/05/10 19:47:05 @@ -515,6 +515,13 @@ remote copies of rsync. Typically, rsync is configured to use rsh by default, but you may prefer to use ssh because of its high security. +Feel free to include options in the COMMAND. For instance: + +quote(-e "ssh -1 -l joe") + +(Note that ssh users can alternately store off site-specific connect +options in their .ssh/config file.) + You can also choose the remote shell program using the RSYNC_RSH environment variable. ..wayne.. -- To unsubscribe or change options: http://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.tuxedo.org/~esr/faqs/smart-questions.html