实验目录结构如下:
/tmp/test01 #文件夹
/tmp/test01/yy
/tmp/test00 #文件夹
/tmp/test00/tt
测试一:
rsync -avz test00 test01
等价于rsync -avz test00 test01/
结果是将test00整个文件夹放到了test01文件夹下面,如下:
/tmp/test01
/tmp/test01/yy
/tmp/test01/test00
/tmp/test01/test00/tt
/tmp/test00
/tmp/test00/tt
测试二:
rsync -avz test00/ test01/
等价于 rsync -avz test00/ test01
rsync -avz test00/* test01/
结果是将test00里面的内容复制到test01里面,如下:
/tmp/test01
/tmp/test01/yy
/tmp/test01/tt
/tmp/test00
/tmp/test00/tt
结论:使用rsync对文件夹进行“对拷”时,文件夹名称后都要加/, 这样可以避免实验一中的情况。 rsync -avz 文件夹/ 文件夹/
测试三:
现在我们想让两个目录内容一样。也就是删掉目的地址里面多余的东西。使用- -delete参数。
rsync -avz –delete test00/* test01/ 【失败!结果如下:】
/tmp/test01
/tmp/test01/yy
/tmp/test01/tt
/tmp/test00
/tmp/test00/tt
rsync -avz –delete test00/ test01/ 【成功!结果如下:】
/tmp/test01
/tmp/test01/tt
/tmp/test00
/tmp/test00/tt
结论:rsync -avz test00/* test01/其实相当于把test00所有文件列出来,源地址并不是一个目录,所以- -delete失效。
rsync的其他用法:
删海量文件
新建个文件夹tt
rsync -avz –delete tt/ /var/spool/clientmqueue/
转载请注明:IPCPU-网络之路 » rsync的用法探讨篇