linux – 使用rsync保留现有的目标符号链接

linux – 使用rsync保留现有的目标符号链接,第1张

概述我正在使用 rsync(1)来更新本地debian存储库.最近,我用来存储它的磁盘开始运行空间不足,所以我决定使用符号链接允许我将一些目录移动到另一个类似大小的磁盘. 不幸的是,似乎rsync正在删除符号链接并重新填充几乎完整的磁盘.经过一番搜索,我发现了rsync的–keep-dirlinks选项,它似乎是为了解决我的问题而量身定制的. 只有它没有.目标上的符号链接仍然被删除. 这是我的rsyn 我正在使用 rsync(1)来更新本地debian存储库.最近,我用来存储它的磁盘开始运行空间不足,所以我决定使用符号链接允许我将一些目录移动到另一个类似大小的磁盘.

不幸的是,似乎rsync正在删除符号链接并重新填充几乎完整的磁盘.经过一番搜索,我发现了rsync的–keep-dirlinks选项,它似乎是为了解决我的问题而量身定制的.

只有它没有.目标上的符号链接仍然被删除.
这是我的rsync命令:

rsync --recursive --keep-dirlinks --links --hard-links --times --verbose \ --delete --delete-excluded $EXCLUDE $SOURCE_EXCLUDE \ $RSYNC_HOST::$RSYNC_DIR/pool/ $TO/pool/

EXCLUDE扩展为消除大量我不感兴趣的架构,沿着–exclude binary-Alpha / –exclude disks-Alpha ….在rsync启动之前,我的池目录看起来像这个:

lrwxrwxrwx  1 root root   23 2014-09-22 13:58 contrib -> /u2/debian/pool/contribdrwxrwxr-x 62 root root 4096 2012-04-09 03:02 mainlrwxrwxrwx  1 root root   24 2014-09-22 13:58 non-free -> /u2/debian/pool/non-free

一旦rsync启动,我得到这个:

receiving incremental file Listdeleting non-freedeleting contrib./contrib/contrib/a/

依此类推,符号链接将被充满文件的目录所取代.

其他一些rsync选项是否会干扰–keep-dirlinks?哪些可以不合并?或者它是导致我的问题的选项的顺序?

解决方法 –delete和–delete-excluded选项会干扰您的计划,因为他们注意到源上没有符号链接,因此将其删除.

只有在告诉rsync使用源/目标表示法复制整个目录(源后的尾部斜杠)时才会发生这种情况.如果您使用source / * target,shell将扩展要复制的文件和目录列表,这不会发生(但首先尝试使用–dry-run).

但是,我建议在LVM的帮助下将两个磁盘组合在一起,形成一个不需要这种技巧的大卷,而不是这个脆弱的设置.

总结

以上是内存溢出为你收集整理的linux – 使用rsync保留现有的目标符号链接全部内容,希望文章能够帮你解决linux – 使用rsync保留现有的目标符号链接所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存