linux – 使用rsync维护名称更改的目录副本

linux – 使用rsync维护名称更改的目录副本,第1张

概述我在 Linux系统上使用rsync来同步本地磁盘和连接的USB驱动器之间的目录.我遇到的问题是,每天在服务器上创建备份的第三方系统实际上会更改嵌套在备份深处的目录的名称.此目录包含备份中所需的大部分数据.当rsync查看目录时,它会看到名称已更改并将其视为一个全新的目录.因此,我在USB驱动器上的rsync副本每天运行一个新目录. 我编写的脚本实际上会更改目录名称,但这是一种麻烦的方法! 我正在 我在 Linux系统上使用rsync来同步本地磁盘和连接的USB驱动器之间的目录.我遇到的问题是,每天在服务器上创建备份的第三方系统实际上会更改嵌套在备份深处的目录的名称.此目录包含备份中所需的大部分数据.当rsync查看目录时,它会看到名称已更改并将其视为一个全新的目录.因此,我在USB驱动器上的rsync副本每天运行一个新目录.

我编写的脚本实际上会更改目录名称,但这是一种麻烦的方法!

我正在寻找一种“优雅”的方式来解决这个问题.是否可以创建一个保持不变的目录的链接?是否可以将rsync配置为检测目录是否相同,即使名称已更改?我相信有人不得不在此之前解决这个问题!

解决方法 一种方法是分两步完成. 1,通过使用忽略模式rsync除了有问题的目录之外的所有内容. 2,rsync只是在bash中使用globbing到达目录的目录,如下所示:
rsync -av /usr/lib/mydata/bigdatadir*/ /mnt/usbvolume/bigdatadir/

在源目录上使用尾部斜杠将有效地使rsync忽略目录名称,因为它将在目录的内容而不是目录本身上调用.当然,如果目录以上面的示例中的常量前缀或后缀命名,则此globbing将是最简单的.如果不是,您可以编写一个脚本来确定目录的实际名称,并执行更直接的 *** 作:

rsync -av /usr/lib/mydata/$BIGDATADIRname/ /mnt/usbvolume/bigdatadir/

最后,您的伪代码将是这样的:

>查找$BIGDATADIRname>像往常一样重新同步所有内容,但忽略$BIGDATADIRname> Rsync $BIGDATADIRname的内容

总结

以上是内存溢出为你收集整理的linux – 使用rsync维护名称更改的目录副本全部内容,希望文章能够帮你解决linux – 使用rsync维护名称更改的目录副本所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存