如何使log文件达到指定大小就转储(logrotate)
2012-11-13 15:01
260 查看
这个问题用crond做不了,因为他的检测间隔就是一分钟,你如果想在两次cron执行的间隔中,log文件的大小达到或超过指定大小就自动转的话,就需要自己写一个脚本,使用sleep这个程序,让她在指定的时间内执行,你可以指定为1秒执行一次logrotate或者其他时间间隔[code]Linux logrotate 问题:如何使Log文件一达到指定大小就转储
[/code]
追问
你好,脚本方面能不能说得再详细些呢?感谢!!
回答
比如可以这样: 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
相关文章推荐
- arm下如何烧写指定分区大小的内核和文件系统
- 如何移动表来达到减小数据文件大小的目的
- Linux中利用logrotate来对log文件进行转储
- .NET软件之如何将图片按照屏幕/控件的指定大小显示
- 如何准备大量指定大小的文件
- 自定义View时,如何设置字体的大小和间距,和XML布局达到一样的效果
- java按比例压缩图片的源代码,用java如何把图片处理到指定大小
- 窗体最大化的时候,如何指定窗体的位置、大小(C#)
- 如何获取指定文件的大小
- Winform窗体最大化的时候,如何指定窗体的位置、大小
- 如何移动表来达到减小数据文件大小的目的
- 关于如何用rem兼容不同手机屏幕大小不一致问题以达到多终端自适应问题
- Java中如何创建指定大小字节数的字符串
- WPS如何制作指定大小的表格以宽2cm高1cm的表格为例
- 如何获取指定文件的大小
- 如何截取UIImage指定大小区域
- 如何移动表来达到减小数据文件大小的目的
- 如何创建指定大小的数组/字符串
- 请教如何在窗体加载时指定其大小和位置?
- swift如何压缩图片到指定大小以内,尺寸和体积双压缩