rsync备份时自动创建目录的方法

这篇文章主要介绍了rsync备份时自动创建目录的方法,本文使用rsync 中的 -R 参数(-R, --relative use relative path names)解决自动创建目录问题,需要的朋友可以参考下

一直以来都习惯用 rsync + ssh 作服务器文件同步,但之前都没有在命令参数里面找到类似 mkdir -p 的功能,可以在同步某个指定文件的时候自动在目标服务器上根据需要创建完整的父级目录。比如某些按年月日自动生成的目录型文件需要在文件生成的时候即时同步:


rsync -lprztW --rsh="/usr/bin/ssh -l rsyncuser" /var/2007/12/13/1001.gif 10.0.0.1:/var/2007/12/13/1001.gif

如果/var/2007/12/13目录没有预先在目标服务器上创建的话,该同步操作将报错:rsync: push_dir#3 "/var/2007/12/13" failed: No such file or directory (2)

之前的解决方法是在目标服务器上预先先创建所有可能产生的新目录结构,或者在源服务器上创建新目录的时候即时把目录rsync到目标服务器上。

偶然看到其实 rsync 有个 -R 参数(-R, --relative  use relative path names),用来把相对目录下的整个目录结构同步到目标服务器指定目录下。利用这个参数就可以自动达到 mkdir -p 的效果,只需要把同步命令改成:


cd /var
rsync -lprRztW --rsh="/usr/bin/ssh -l rsyncuser" 2007/12/13/1001.gif 10.0.0.1:/var/

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

网站采用了RsyncServer进行同步,但同步的时候经常无法连接远程RsyncServer服务器端,登陆后发现原来是RsyncServer服务无法启动了,其实解决方法很简单。
rsync是个真正的镜像工具,它能相应地删除本地文件万一服务器上的文件被删除,这一点比wget好,在镜像目录的同时也能排除某些目录及文件。速度非常快
rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync。
利用rsync自动备份 完全配置,一些细节也做到了,对于比较熟悉rsync的朋友应用,限制了ip相对来说安全增加了。
Ubuntu 下配置Rsync服务的方法,需要的朋友可以参考下。
Windows下使用rsync备份文件的配置方法,这是一个不错的实例,经测试是没问题的,大家可以参考下。