目标文件夹具有相同文件的rsync文件夹,仅已压缩

时间:2017-06-28 10:38:50

标签: bash ssh gzip rsync bzip2

我对bash脚本和rsync(通过SSH)的了解非常了解。

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

我想将这些文件复制到另一台(远程)服务器,然后在这台远程服务器上压缩这些复制的日志文件。 我想使用rsync来确保脚本没有工作一次或两次没有文件被跳过(所以我不想弄乱日期和日期abbriviations,如果不是nessecary)。

但是,如果我理解正确,所有文件都将被删除,因为已经存在的rsynced文件没有"匹配" rsync算法,因为它们被压缩.... 如果此文件位于远程位置(仅进行alraedy压缩),如何避免再次复制同一文件。

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

1 个答案:

答案 0 :(得分:0)

进行轮换时,您将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: