#!/bin/shset -xDIR1=/tmp/1DIR2=/tmp/2rm -rf $DIR1rm -rf $DIR2mkdir $DIR1mkdir $DIR2echo "foo" > $DIR1/aecho "bar" > $DIR1/brsync -a $DIR1/* $DIR2rm -f $DIR1/arsync -a --delete $DIR1/* $DIR2ls -1 $DIR2
这是输出:
+ DIR1=/tmp/1+ DIR2=/tmp/2+ rm -rf /tmp/1+ rm -rf /tmp/2+ mkdir /tmp/1+ mkdir /tmp/2+ echo foo+ echo bar+ rsync -a /tmp/1/a /tmp/1/b /tmp/2+ rm -f /tmp/1/a+ rsync -a --delete /tmp/1/b /tmp/2+ ls -1 /tmp/2ab
正如您所看到的,rsync第二次运行后,目标目录中仍然存在文件“a”,这不是我需要的.我滥用’ – 删除’选项吗?
解决方法 原因是因为你在/ tmp / 1 / b上调用rsync,它根本不会考虑/ tmp / 1 / a文件.你的意图似乎是rsync目录/ tmp / 1 / – 如果你使用“/ tmp / 1 /”作为源而不是单个文件,它会注意到“a”已从目录中删除并删除它来自目标.
总结以上是内存溢出为你收集整理的linux – rsync不会删除目标上的文件全部内容,希望文章能够帮你解决linux – rsync不会删除目标上的文件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)