【问题标题】:rsync folders where target folders has the same files, only already compressedrsync 文件夹,其中目标文件夹具有相同的文件,只是已经压缩
【发布时间】:2017-06-28 10:38:50
【问题描述】:

我在 bash 脚本和 rsync(通过 SSH)方面的知识陷入僵局。

在我的用例中,有一个本地文件夹,其中包含日志文件。这些日志文件每 24 小时轮换一次,并在其文件名中收到一个日期戳(例如 logfile.DATE),而当前文件仅称为日志文件。

我想将这些文件复制到另一个(远程)服务器,然后在此远程服务器上压缩这些复制的日志文件。 我想使用 rsync 来确保脚本是否无法运行一次或两次以确保没有文件被跳过(所以如果不是必要的话,我不想弄乱日期和日期缩写)。

但是,如果我理解正确,所有文件都会被 rsync,因为已经 rsync 的文件不会“匹配”rsync 算法,因为它们是压缩的...... 当该文件位于远程位置(仅已压缩)时,如何避免再次复制相同的文件。

有人有什么想法或方向吗?我应该把研究重点放在这上面吗? 非常感谢你 最好的问候

【问题讨论】:

    标签: bash ssh gzip rsync bzip2


    【解决方案1】:

    进行轮换时,将 logfile 重命名为 logfile.DATE。作为该操作的一部分,使用ssh mv 同时在存档服务器上执行相同的操作(您甚至可以告诉服务器然后压缩它)。

    那么你只需要 rsync 当前的logfile

    例如,您的旋转操作来自以下:

    mv logfile logfile.$(date +%F)
    

    到这里:

    mv logfile logfile.$(date +%F)
    ssh archiver mv logfile logfile.$(date +%F) && gzip logfile.$(date +%F)
    

    你的 rsync 工作就是从这里开始的:

    rsync logdir/ archiver:
    

    到这里:

    rsync logdir/logfile archiver:
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-29
      • 2015-09-29
      • 1970-01-01
      • 1970-01-01
      • 2010-09-05
      相关资源
      最近更新 更多