Linux syslog.conf配置文件说明:
[root@localhost ~]# cat /etc/syslog.conf # Log all kernel messages to the console. # Logging much else clutters up the screen.
#kern.* /dev/console
# Log anything (except mail) of level info or higher. # Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none /var/log/messages
# The authpriv file has restricted access.
authpriv.* /var/log/secure
# Log all the mail messages in one place.
mail.* -/var/log/maillog
# Log cron stuff
cron.* /var/log/cron
# Everybody gets emergency messages
*.emerg *
# Save news errors of level crit and higher in a special file.
uucp,news.crit /var/log/spooler
# Save boot messages also to boot.log
local7.* /var/log/boot.log测下syslog.conf配置语法:服务.等级 记载装置或档案 syslog.conf默认配置文件内容:
1.#kern.* /dev/console
核心产生的讯息全部送到Console(终端机)去。Console通常是由外部装置连接到系统而来。
2.*.info;mail.none;authpriv.none;cron.none /var/log/messages
在/var/log/messages里记录除mail,authpriv及cron这些项目之外的其他项目讯息都记录。 3.authpriv.* /var/log/secure 认证方面的讯息写入到/var/log/secure档案中。
4.mail.* -/var/log/maillog
邮件方面的讯息写入到/var/log/maillog中,注意”-”号,其意义为将产生的讯息先储存在速度较快的内存中(buffer),等到数据量大了才一次性的将所有数据写入磁盘内。 5.cron.* /var/log/cron 例行性工作排程写入到/var/log/cron档案中。
6.*.emerg *
产生最严重的错误等级时,将该等级的讯息以wall的方式广播给所有在系统登入的帐号。
7.uucp,news.crit /var/log/spooler 新闻组方面的讯息有严重错误时写入到/var/log/spooler档案中。
8.local7.* /var/log/boot.log测下 将本机开机时应该显示到屏幕的讯息写入到/var/log/boot.log档案中。
1.讯息等级:
① Info 一些基本的讯息说明;
② Notice 比info还需要被注意的一些信息内容; ③ Warning(warn) 警告讯息,还不至于影响到daemon正常运行; ④ Err(error) 一些重大的错误讯息,一般根据error的错误告知都能定位到问题根源;
⑤ Crit 比error还要严重的错误信息,这个crit是临界点(critical)的缩写; ⑥ Alert 警告警告,已经很有问题的等级了; ⑦ Emerg(panic) 很严重的错误信息,通常大概只有硬件出问题导致整个核心无法顺利工作才会出现该讯息;
⑧ Debug 错误侦测等级; ⑨ None 不需登录等级。 2.链接符号代表的意思:
① “.” 代表比后面还要高的等级(含该等级)都被记录下来; ② “.=” 代表所需要记录的等级就是后面设定的等级; ③ “.!” 代表不等于,即只记录该等级外的等级。
Example:
1. news.*;cron.* /var/log/cronnews news.=warn;cron.=warn /var/log/cronnews.warn 解析:news与cron的所有讯息写入/var/log/cronnews的档案中,将这两个程序的警告讯息额外的记录在/var/log/cronnews.warn档案中。 2. *.*;news,cron,mail.none /var/log/messages *.*;news.none;cron.none;mail.none /var/log/messages 解析:以上两种写法均表示在messages档案中不记录news,cron,mail的讯息。使用”,”分隔时,等级(none)只要接在最后一个即可,使用”;”分隔时,就需要将服务与等级写全!
注:如果更改了/var/log目录下的一个档案,则需要重启syslogd服务,否则不在继续往档案中记录讯息。
/etc/init.d/syslog restart
为了避免以上情况的发生,我们可以对记录log档案设置隐藏属性 Example:
#chattr +a /var/log/message a参数功能:仅能被增加,不能修改和删除哦 #lsattr /var/log/message
要注意哦,如果这样设置了该档案将不能进行轮替(logrotate)操作哦,两种办法可以解决此问题:
1.取消隐藏属性:#chattr -a /var/log/message 2.更改/etc/logrotate.d/syslog
# vi /etc/logrotate.d/syslog
/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron {
sharedscripts prerotate
/usr/bin/chattr -a /var/log/message endscript sharedscripts postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true #也可以写成/usr/bin/killall -HUP syslogd
/bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true
#将系统的syslogd重新以其参数档(syslog.conf)的资料读入一次,也可理解成reload! /usr/bin/chattr +a /var/log/messages endscript }
我们举的例子是message档案,为何要更改syslog档案?因为message的预设是包含在syslog配置档案中的。
注意Logrotate设定语法:
1.档名:被处理的登录文件绝对路径文件名写在前面,可用空格符分隔多个登录档; 2.参数:上述档案进行轮替的参数使用{}包括起来;
3.执行脚本:可呼叫外部指令来进行额外的命令下达,这个设定需要与 sharedscripts......endscript设定合用才行哦,至于环境:
A. prerotate: 在启动logrotate之前进行的指令; B. postrotate: 在做完logrotate之后进行的指令;
C. Prerotate: 与postrotate用于已加特殊属性的档案处理上面。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库Linux syslog.conf说明在线全文阅读。
相关推荐: