在我的服务器上,我有日志轮转和备份脚本,除此之外,它还备份整个日志目录。
对于日志旋转,我在Linux上使用logroatate,在BSD上使用newsyslog。对于日志备份,我只需使用cp -Rf /var/log/ /backups/
备份脚本有时会失败,因为在备份运行期间,日志轮转重命名日志文件时会出现争用条件。所以我得到了这样的东西:
cp: /var/log/messages.0:没有这样的文件或目录
我相信我的处境并不是独一无二的。是否有任何最佳做法来克服这种竞争条件,并使备份更加可靠?
发布于 2016-03-09 08:12:52
它看起来不像log转速提供任何您可以连接到的东西(例如,pid文件)来解决这个问题,所以您需要解决这个问题。
我会考虑使用羊群(1),这是可用于Linux和BSD的。
您可以让日志旋转脚本创建一个锁,然后让备份脚本检查并等待锁。
https://serverfault.com/questions/762558
复制相似问题