非终止进程的日志文件

非终止进程的日志文件

我正在编写一个永远不会终止的程序,它还会生成其正在执行的操作的大量日志(文件)。我想要的是 Linux 进程定期(每 X 分钟(cronjob?)):

  1. 从当前日志文件中获取当前日志
  2. 将它们放在一个单独的文件(适当命名)中以进行离线存储/删除
  3. 截断当前日志文件,使数据不重复。

全部无数据丢失或中断到制作程序。这样我最终得到了一系列时间分隔的日志

有 Linux 实用程序或已知的解决方案吗?或者我应该将此日志记录功能构建到程序中?

答案1

Linux 用于syslogd管理日志文件。我个人没有使用过这个,所以我不确定可能会出现什么问题,但本质上你只是将消息发送到日志,守护进程负责文件轮换等。

看这里:http://linux.die.net/man/3/syslog

您可以配置/etc/syslog.conf将消息路由到特定文件,并且我认为您也可以使用 手动轮换日志logrotate,或者设置 cron 作业。

答案2

通常守护进程只写日志,仅此而已。日志轮换是另一个软件的工作。通常是这样对数旋转或类似的软件。

相关内容