rsync备份时自动创建目录的方法_服务器其它

一直以来都习惯用 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/

时间: 2024-11-09 00:15:00

rsync备份时自动创建目录的方法_服务器其它的相关文章

rsync @ERROR: chdir failed 的解决方法_服务器其它

CwRsyncServer在windows 2003 server上遇到这样的问题: @ERROR: chdir failed rsync error: error starting client-server protocol (code 5) at main.c(1495) [rec eiver=3.0.2] 解决办法一: 1)新建一个目录比如, 进入 开始菜单>cwRsync Server>Prep a Dir for Upload, 选择D:\folder1 ,确定 2)右键点击fol

rsync备份海量文件时占用大量内存的解决方法_服务器其它

linux发行版中大多都自带rsync,不过版本比较低,一般都是2.6.X 在2.X的版本中,rsync备份时都是先列表再备份(添加或者删除),在处理大量文件时,会耗费比较多的内存. 备份的时候,rsync扫描到的每个文件(目录也一样),在它的列表中约占100字节的内存,如果加了--delete参数的话,占用的内存会更多. 例如我这里一台服务器,约800万的图片,而且更新比较频繁,文件数增长比较快,差不多每天增加约10万张.备份的时候,rsync大约占用了将近2G的内存,大量内存的占用,造成服务

网站数据自动备份方法_服务器其它

近来由于国家打击,所以各地难免会出现封机房.断网的情况,针对这种情况,站长们最需要的就是能及时备份自己的数据,本文是根据作者自己多年的维护经验,来和大家分享下网站数据自动备份的一些经验. 目前站长们大多使用的网站程序无外乎ASP\asp.net\php\jsp 数据库的话,大多是access\sqlserver\mysql 我们分2种情况来说明下. 对于win服务器下的自动数据备份,网站文件,自然是比较好备份的,那么如果数据库也可以自动备份,那就基本实现完美自动备份. 如果你有独立服务器,那么这

无需密码通过ssh执行rsync来同步文件的方法_服务器其它

1.通过ssh执行rsync(需要密码) 通过ssh帐户(需要密码)执行rsync,将文件同步镜像到远程服务器. 下面这个例子将本地的/home/ramesh同步到远程目录/backup/ramesh(服务器地址192.168.200.10). 执行以下操作时,服务器将会提示需要用户使用密码登录. 复制代码 代码如下: rsync -avz -e ssh /home/ramesh/ ramesh@192.168.200.10:/backup/ramesh/ 2.使用ssh-keygen生成密匙

修改及备份注册表的基本方法_注册表

Windows 95利用注册表来管理所有的硬件和软件设置.注册表(Registry)提供了一个统一的数据库,并以分层的形式存储系统和应用程序配置数据.每次启动计算机时都会形成注册表,它的内容是由即插即用事件.机器的设置文件(System.dat)和用户信息(User.dat)以及在某种情况下由网络文件服务器施加的系统策略所组成,是一个存储着计算机配置信息的数据库文件, 它取代了原系统所有组件和应用程序之INI文件的使用,实为Windows 95系统的一个管理信息数据库,目前Windows 95所

备份和恢复Windows IIS服务器设置的方法_服务器

我们在使用Windows 2000 Server自带的IIS(Internet Information Server,Internet信息服务器)时,经常需要设置一些Web服务.FTP服务等,但是经过一段时间的使用之后,Web站点.FTP站点.虚拟目录比较多了,其配置也变得越来越复杂.IIS能不能恢复到以前的状态呢?答案是肯定的.    备份IIS设置:IIS本身自带了备份和恢复IIS设置的功能.在恢复IIS设置之前需要备份IIS.备份的过程很简单:在Windows 2000 Server中找到

远程桌面超出最大连接数的解决方法_服务器其它

[系统环境] 系统:Windows 2003 解决这个现像的办法很多,如果马上需要登陆服务器,最easy的方法是: 复制代码 代码如下: 开始--运行中输入:mstsc /console /v:192.168.12.241:3389 [解决方法] 1.找到一台能连上网络的windows2003的机器 2.开始–运行–输入"tsmmc.msc",跳出一个远程桌面控制台 3.右键点击左边的"远程桌面",选择"新建远程桌面",按照要求填写要连接的虚拟主

cwrsync invalid uid nobody 解决方法_服务器其它

使用rsync/cwrsync工具进行档案同步的时候出现了下面的错误: C:Program FilescwRsyncbin>rsync.exe -av rsync://192.168.0.211:52326/test /cygdrive/e/www.01314.cn/rsync @ERROR: invalid uid nobody rsync error: error starting client-server protocol (code 5) at main.c(1506) [Receiv

使用cwRsync实现windows下服务器文件定时同步备份(附错误处理方法)_服务器其它

首先要下载cwRsync的服务端和客户端软件,下载地址如下: 服务端:cwRsync Server (多台服务器文件同步服务端) V4.1.0 免费版 客户端:cwRsync(多服务器文件同步客户端) V4.1.0 免费版 不过我们使用的一般不是最新版本,老版本可以到s.jb51.net的服务器文件同步专区下载 然后我在本地机器上安装了其中的服务器端(10.0.2.136),然后在同网段下的另一台机器(10.0.2.137)安装了客户端.为了测试,我专门在本地机器上的f盘上放置了我们的产品dnt