系统日志的记录
linux
linux操做系统主要经过syslogd服务来记录日志信息。日志信息主要记录在/var/log/目录下。syslod用来记录系统运行产生的信息。klogd用来记录系统内核运行产生的信息。此外根据系统的配置,系统会在固定的时间,调用logrotate命令来更新日志信息。logrotate命令会根据/etc/logrotate.conf配置文件的设置。/etc/logrotate.conf会自动加载/etc/logrotate.d/文件夹的文件。服务器
syslogd的配置文件是/etc/syslogd.conf,在syslogd.conf中能够定义日志信息。syslogd将日志信息划分为7个级别。分别是info notice warn err crit alert emerge.在系统中,能够定义来自不一样地方的不一样级别的信息记录到不一样的地方。如ide
mail.info /var/log/messages 意思是将 mail产生的info及以上的信息记录下来post
mail.* /var/log/messages 意思是将mail产生的全部信息都记录到/var/log/messages中。spa
mail.=info /var/log/messages 意思是将mail产生的info级别的信息记录到/var/log/messages中。操作系统
多个级别能够写在一块儿。日志
mail.=info;cron.=info /var/log/messages.若是是同一级别,还能够简写。mail,cron.=infoorm
若是不想记录某个来源的信息,能够写成 server
*.* mail.none /var/log/messagesip
若是是不想记录某个来源的某个级别的日志信息,能够写成 mail。!warn /var/log/messages中。
此外日志还能够记录到某一台服务器上,此时这台服务器须要的syslog的启动模式要做一些改变,要改/etc/sysconfig/syslog,在里面的选项中加上-r ,让syslog以服务器的模式运行。而在客户机上。/etc/syslog.config里面,加上*.* @server就能够将日志信息保存到服务器端。
/etc/logrotate.conf里面主要写日志更新的配置文件。其中还支持脚本。如:
sharedscripts
prelogrotate
chattr -a /var/log/messages
endscripts
sharedscripts
postlogrotate
/bin/killall -1 syslogd
chattr +a /var/log/messages
endscripts