如何持续备份日志文件?

Ank*_*tha 5 shell rhel shell-script

我在 Linux 中有一些应用程序,它们每个创建大约 41 MB 的日志文件。一旦这 41MB 在文件中完成,应用程序就会从 切换log.1log.2并开始覆盖。log.2log.1

我想备份这些文件,只要新文件log.2的大小超过 1MB,它就会备份(gzip 并存储在另一个位置)其他文件(log.1)。

我一直在使用一个脚本,它在文件达到 41MB 时进行备份,但这里的问题是有时这个 41MB 文件备份由脚本处理,而数据仍在以巨大的速度写入同一个文件。由于丢失了几秒钟的日志数据,这就是我尝试在新文件达到 1MB 或其他文件时备份其他文件的替代方法的原因,以便我确定其他文件已完成写入。

知道我该怎么做吗?

小智 0

您可以尝试logrotate ,这里提到了一些示例

一旦日志达到指定大小(例如 41MB),大小选项将允许您旋转日志。
使用postrotate选项执行自定义脚本,您可以使用该脚本将轮换的日志文件传输到另一个位置。