旋转日志文件的解决方案

朱尼乌斯·布鲁图斯

我正在运行一个守护进程,该进程必须无限期运行(可以说是“服务”),并希望记录其输出。一个简单的解决方案,例如:

./long-running-process > log.out &

...由于文件失败log.out

  • 很快就超出了我可以轻松使用文本编辑器(例如emacsvi
  • 冒着耗尽可用文件系统空间的风险。

为了使日志文件的大小易于管理,我可以使用splitbash命令:

./long-running-process | split -l 30000

此解决方案使它创建的日志文件的大小可管理,但是它可能用完后缀(split: output file suffixes exhausted),或者,如果后缀空间很大,它也可能会耗尽文件系统空间。

因此,我正在寻找一种解决方案,该方案将生成许多日志文件,并且每个日志文件的大小都是可管理的,并且还将在它们之间轮换,以使将要使用的总磁盘空间达到上限。

是否有可用的解决方案,或者我必须在应用程序级别实施它?

X田

砍伐原木

Apache项目有一个有用的命令rotatelogs旨在通过输入管道读取收到旋转输入约rotatelogs

然后还有cronolog更好的时间处理。Cronolog网站

但是,如果您也要旋转,则值得考虑使用logrotate,但是logrotate将需要一种机制来触发新的日志文件,(发送信号,重新启动程序,...)。如果您正在记录标准输出并且不想重新启动该过程,则可能会在这里进入rotatelogs / cronolog。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章