我对bash脚本和rsync (通过SSH)的了解非常有限。
在我的用例中,有一个本地文件夹,其中包含日志文件。这些日志文件每24小时轮换一次,并在其文件名中接收日期戳(例如,logfile.DATE),而当前的文件仅称为日志文件。
我想将这些文件复制到另一台(远程)服务器上,然后在此远程服务器上压缩这些复制的日志文件。我想使用rsync来确保如果脚本不工作一次或两次,没有文件被跳过(所以我不想弄乱日期和日期缩写,如果不是nessecary的话)。
但是,如果我理解正确的话,所有的文件都是rsynced的,因为已经rsync的文件并不“匹配”rsync算法,因为它们是压缩的……当相同的文件位于远程位置(仅压缩)时,如何避免再次复制相同的文件。
有没有人有一个想法或方向,我应该把我的研究重点放在这上面?非常感谢你最好的问候
发布于 2017-06-28 10:47:21
进行旋转时,将logfile
重命名为logfile.DATE
。作为该操作的一部分,同时使用ssh mv
在归档服务器上执行相同的操作(您甚至可以告诉服务器压缩它)。
然后你只需要同步当前的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:
https://stackoverflow.com/questions/44800176
复制相似问题