如何RSYNC单个文件?

目前我只有RSync的Directories是这样的:

 * * * * * rsync -avz /var/www/public_html/images root@<remote-ip>:/var/www/public_html 

那么我如何rsync一个文件,如/var/www/public_html/.htaccess

您可以按照与目录相同的方式进行操作,但可以指定文件名的完整path作为源。 在你的例子中:

rsync -avz /var/www/public_html/.htaccess root@<remote-ip>:/var/www/public_html/

基本的语法

 rsync options source destination 

 rsync -az /var/www/public_html/filename root@<remote-ip>:/var/www/public_html 

阅读更多

如果相对于源和目标的根目录,文件path中的所有目录已经存在,那么Michael Place的答案很好。

但是如果你想用这个源path同步一个文件呢?

/源根/ A / B /文件

到具有以下目标path的文件:

/目标根/ A / B /文件

而目录ab不存在?

您需要运行一个rsync命令,如下所示:

rsync -r --include="/a/" --include="/a/b/" --include="/a/b/file" --exclude="*" [source] [target]