解决logrotate的copytruncate参数导致打开的文件产生空洞

51 篇文章 0 订阅
23 篇文章 0 订阅

logrotate的copytruncate参数导致打开的文件产生空洞

日志文件保存时候使用> 将其保存,对文件进行清除和日志切割(logrotate)时,容易出现文件空洞。

需要使用“>>” 可以避免该问题。修改后问题确实解决了。

在此Mark一下。


同理,在用fopen 打开或创建日志文件时,打开方式使用“w”类似于>,使用"a"类似于>>。如果需要对日志文件进行logrotate备份,最好使用"a"方式创建或打开。(经过测试)


以上情况发生的条件是,日志文件一直处于打开状态,进程没有被重启,如果进程在备份完成之后重新启动或运行,则不会导致文件空洞,因为文件的offset指示器已经到了文件头。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值