Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了linux – 使用rsync维护名称更改的目录副本大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

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

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

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

解决方法

一种@L_197_7@是分两步完成. 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维护名称更改的目录副本所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。