相关疑难解决方法(0)

轮换日志文件的解决方案

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

./long-running-process > log.out &
Run Code Online (Sandbox Code Playgroud)

...作为文件失败log.out

  • 一旦超过大小,我可以很容易地像一个文本编辑器处理emacsvi
  • 存在耗尽可用文件系统空间的风险。

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

./long-running-process | split -l 30000
Run Code Online (Sandbox Code Playgroud)

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

因此,我正在寻找一种解决方案,该解决方案将生成许多日志文件,每个日志文件的大小都可以管理,并且还将在它们之间轮换,以便对总磁盘空间进行声明。

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

logs logrotate

10
推荐指数
3
解决办法
2万
查看次数

标签 统计

logrotate ×1

logs ×1