日志轮询(用apache举例)
日常工作中,日志是非常重要的,学会看日志是每一个运维过程师必备的技能。
常用的日志轮询方法有rotatelogs,cronolog
rotatelogs:
yum installlogrotate
配置文件在
[root@vm99 ~]# vim/etc/logrotate.
logrotate.conf logrotate.d/
[root@vm99 ~]# vim/etc/logrotate.d/
cups ppp syslog
dracut psacct wpa_supplicant
httpd sssd yum
打开httpd的配置文件查看
/var/log/httpd/*log{
rotate 4 轮询周期
size 10m 大小
missingok
notifempty
sharedscripts
delaycompress
postrotate
/sbin/service httpd reload >/dev/null 2>/dev/null || true
endscript
}
举例说明
打开啊apche配置文件写入
1、CustomLog "| /bin/rotatelogs /usr/local/apache/logs/access_log 86400" common
-----每天轮询一次 86400多少秒 这里也可以指定大小轮询 例如1M,1K,1G…
生成的日志文件结尾是以时间戳结尾
2、ErrorLog "|bin/rotatelogs -llogs/localhost/error_%Y%m%d.log 86400"
CustomLog "|bin/rotatelogs -l /usr/local/apache/logs/access_%Y%m%d.log86400" combined
---- -l可以自定日志名称
路劲最好都写绝对路径以免报错
cronolog:
cronolog是一个简单的过滤程序,它从标准输入设备读入日志记录,并把这些记录写入到输出文件集,输出文件的名字由一个文件名模板和当前的日期时间组成。cronolog通常与web服务器一起使用,例如apache,用来安全地对日志文件按日期、月或其它特定的区间进行分割。
官网下载源码包:
cronolog-1.6.2.tar.gz
tar zxvf cronolog-1.6.2.tar.gz
./configure –prefix=/usr/local/cronnolog
make &&make install
[root@vm99 ~]#/usr/local/cronnolog/sbin/cronolog --help
usage:/usr/local/cronnolog/sbin/cronolog [OPTIONS] logfile-spec
-H NAME, --hardlink=NAME maintain a hard link from NAME to current log
-S NAME, --symlink=NAME maintain asymbolic link from NAME to current log
-P NAME, --prev-symlink=NAME maintain asymbolic link from NAME to previous log
-l NAME, --link=NAME same as-S/--symlink
-h, --help print this help,then exit
-p PERIOD, --period=PERIOD set the rotationperiod explicitly
-d DELAY, --delay=DELAY set the rotationperiod delay
-o, --once-only create singleoutput log from template (not rotated)
-x FILE, --debug=FILE write debugmessages to FILE
( or to standarderror if FILE is "-")
-a, --american American dateformats
-e, --european European dateformats (default)
-s, --start-time=TIME starting time
-z TZ, --time-zone=TZ use TZ for timezone
-V, --version print versionnumber, then exit
同样写入apache配置文件
CustomLog"|/usr/local/cronnolog/sbin/cronolog /usr/local/apache/logs/access_lo
g.%Y%m%d:%H%M"combined
注意%Y%m%d:%H%M 如果以%M结尾则是每分钟切割一次,%d每天切换一次,%H没小时切换一次