linux – rsync不会删除目标上的文件

linux – rsync不会删除目标上的文件,第1张

概述我试图镜像一个随时间变化到另一个目录的目录.我的问题是rsync不会删除目标上的文件,如果它们不再存在于源目录中.这是一个演示脚本: #!/bin/shset -xDIR1=/tmp/1DIR2=/tmp/2rm -rf $DIR1rm -rf $DIR2mkdir $DIR1mkdir $DIR2echo "foo" > $DIR1/aecho "bar" > $DI 我试图镜像一个随时间变化到另一个目录的目录.我的问题是rsync不会删除目标上的文件,如果它们不再存在于源目录中.这是一个演示脚本:
#!/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不会删除目标上的文件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1042627.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存