Cea*_*fin 5 logging syslog logrotate
我的 Google-Fu 已经让我很接近了,但还没有完全实现,我想我对 Linux 还太陌生,无法将这些碎片整合在一起。
我有一个非常大的 >200GB 日志文件,仍在写入。在磁盘空间可能成为问题之前,Logrotate 无法及时处理它。另外,我不想启动另一轮logrotate
,因为我不希望它影响其配置中的所有其他目标。我已在我的文件中添加了新的节,logrotate.conf
如下所示:
/log/myDevice/myDevice.log {
compress
daily
rotate 360
maxage 360
missingok
compresscmd /usr/bin/xz
dateext
compressext .xz
copytruncate
olddir /log/archive/myDevice
}
Run Code Online (Sandbox Code Playgroud)
我想手动做这些事情:
split
:将当前日志卷分解成更小的块 xz
:压缩到存档文件夹 我可以split(1)
而且xz(1)
很好,但是当我尝试抓取目标文件时,没有骰子。
我尝试过sudo mv myDevice.log ZmyDevice.log && touch myDevice.log
,但 syslog-ng 只是随原始文件(及其新名称)移动并保持愉快的写入。当我思考 syslog-ng 如何引用该文件时,这引起了一些思考。
因此,我试图弄清楚如何编写某种手册,copytruncate
以便将文件“就地”剪切到另一个文件,并让 syslog-ng 继续处理它想要的内容。
移动文件,然后向 syslog-ng 进程发送 SIGHUP:
杀-HUP
这将导致它重新打开所有打开的文件,从而释放您刚刚移动/重命名的文件并允许您继续。然后它将重新打开 /log/myDevice/myDevice.log 并开始写入。
归档时间: |
|
查看次数: |
8855 次 |
最近记录: |