1 日志简介
在centos6以后,已经由rsyslogd替代了syslogd服务。系统中常见日志文件如下:
如上图所述,系统有的日志文件时文本文件,有的时二进制文件,而对于二进制文件来说是通过命令行也查看的,比如last、lastlog等等。
2 日志服务rsyslogd
日志文件格式:
rsyslogd服务的配置文件:
[root@vm3 ~]# cat /etc/rsyslog.conf | grep -v ^# | grep -v ^$
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imjournal # provides access to the systemd journal
$WorkDirectory /var/lib/rsyslog
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf
$OmitLocalLogging on
$IMJournalStateFile imjournal.state
*.info;mail.none;authpriv.none;cron.none /var/log/messages
authpriv.* /var/log/secure
mail.* -/var/log/maillog
cron.* /var/log/cron
*.emerg :omusrmsg:*
uucp,news.crit /var/log/spooler
local7.* /var/log/boot.log
以下这些服务委托了rsyslogd来代为管理日志:
连接符号:
日志等级:
日志等级还可以是none,如果是none,则忽略该服务的日志。
日志记录位置:
日志记录位置指的是当前日志输出到哪个日志文件中保存,可以输出到打印机或者远端日志服务器(需要允许接受)上。日志记录位置也是固定,如下:
如果接受日志的对象用~表示,代表这个日志不会被记录,而被直接丢弃。
rsyslogd服务的配置文件rsyslog.conf的所有内容解释如下:
2.1 定义自己的日志
可以定义自己的日志:
在rsyslog.conf中写入对应的日志记录信息即可,存放到对应的日志文件中。
3 日志的轮替
日志文件的命名规则
/etc/logrotate.conf配置文件说明
上面表格中的最后两行参数,可以用以下举例来说明:
3.1 将自己的日志加入日志替换
第二种方法举例:
对于自己在rsyslog.conf中定义的日志alert.log,这个日志不会被轮替,采用上述第二种办法要求进行轮替:
注意,上述若是有对应的服务还需要重启服务。
3.2 logrotate命令
日志轮替在指定时间进行轮替,其实也是依赖定时任务来执行。logrotate通过/etc/cron.daily/logrotate文件依赖定时任务执行。
这样强制进行日志轮替,从而就产生了新的日志文件和旧的日志文件。