Chinaunix首页 | 论坛 | 博客
  • 博客访问: 315004
  • 博文数量: 240
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 50
  • 用 户 组: 普通用户
  • 注册时间: 2016-08-04 18:14
文章分类

全部博文(240)

文章存档

2017年(8)

2014年(4)

2013年(15)

2012年(4)

2011年(14)

2010年(55)

2009年(140)

我的朋友

分类: LINUX

2013-01-11 16:21:23



运维过程中经常会发现一些 C 程序,每天会生产这样的日志: /home/admin/app_name/logs/access_log
那么天长地久,如果这个程序不会自动去轮转这个日志,那么这个日志文件则会越来越大,我们其实可以使用 linux 里面的 logrotate 来实现自定义日志轮转.
 
方法如下:
一、建立轮转配置文件:

  1. #vi /etc/logrotate.d/app_name
  2. /home/admin/app_name/logs/access_log
  3. {
  4. daily
  5. dateext
  6. copytruncate
  7. nocompress
  8. rotate 15
  9. }

    // /home/admin/app_name/logs/access_log  指明日志文件的绝对路径
    // daily       表示日志每天轮转一次
    // dateext     表示切换后的日志文件会附加上一个短横线和YYYYMMDD格式的日期,如果没有这个配置项则会附加一个小数点加一个数字序号
    // copytruncate     表示在复制当前日志文件后,将日志文件清空;而不是将当前日志文件改名后创建一个新的
    // nocompress     表示不压缩切换后的日志文件
    // rotate 15     表示保存15份旧的日志文件

    // 更多配置请参考 man logrotate 手册.

     
     
    二、重启 syslogd 服务 (或 syslog-ng)
     
    1. service syslogd restart
    2. /usr/bin/killall -HUP syslogd
    3. service syslog-ng restart
    4. /usr/bin/killall -HUP syslog-ng
     
    三、测试 (执行配置文件,强制进行一次日志轮转):

    1. logrotate -f /etc/logrotate.d/app_name

    四、扩展其他日志切换操作:

    1. #ls /etc/logrotate.d/
    2. acpid conman cups httpd mgetty ppp psacct rpm samba sa-update setroubleshoot snmpd syslog-ng tsar up2date
    3. # 针对某个配置对其日志进行切换:
    4. logrotate -f config_name
    5. # 强制切换所有配置:
    6. logrotate -f /etc/logrotate.conf


    阅读(2222) | 评论(1) | 转发(1) |
    0

    上一篇:bond切换

    下一篇:hadoop & hbase 上下线

    给主人留下些什么吧!~~

    Aquester2013-01-18 23:15:13

    不错,原来Linux自带有这个,为此我还专门自己写了一个:http://blog.chinaunix.net/uid-20682147-id-3283393.html