如何使log文件达到指定大小就转储(logrotate)

 

Linux logrotate 问题:如何使Log文件一达到指定大小就转储

 

   这个问题用crond做不了,因为他的检测间隔就是一分钟,你如果想在两次cron执行的间隔中,log文件的大小达到或超过指定大小就自动转的话,就需要自己写一个脚本,使用sleep这个程序,让她在指定的时间内执行,你可以指定为1秒执行一次logrotate或者其他时间间隔

追问
你好,脚本方面能不能说得再详细些呢?感谢!!
回答
比如可以这样:
vi /root/auto_logrotate.sh
#!/bin/bash
while [ $a -z ];
do 
sleep 1;
logrotate  /xxx/xxx.conf;      //这里的/xxx/xxx.conf是你要监控的那个进程的logrotate配置文件。
done
然后chmod u+x /root/auto_logrotate.sh
然后放在后台运行:/root/auto_logrotate.sh&
然后在:echo "/root/auto_logrotate.sh&" >>/etc/rc.local
这样子就会每隔一秒执行一次logrotate,如果log文件符合你的logrotate的配置文件条件的话,就会自动备份。
追问
频繁的执行貌似Logrotate不太好,因为Logrotate时需要重启rsyslog服务,这期间就会有Log无法输出。最好能监控文件大小,文件到达指定大小后再执行Logrotate。
回答
#!/bin/bash
while [ $a -z ];
do 
sleep 1;
size=`ll /var/log/messages | cut -d " " -f 5`
if [ $size -ge xxxxx ];
then
logrotate  /xxx/xxx.conf;     
fi
done
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值