一、linux/linuxrizhiwenjian/ target=_blank class=infotextkey>linux日志文件,常用的有以下几种:
二、linux日志文件系统所需相关服务与进程
日志文件系统的产生,一种是由软件开发商自行定义写入的日志文件与相关格式,另一种则是由linux提供的日志文件管理服务来同一管理。
centos提供syslogd这个服务来统一管理。
还有一个专门记录内核信息的日志文件服务,就是klogd。所以,日志文件所需的服务主要就是 syslogd与klogd这两者。
可以通过logrotate(日志文件轮替)来自动化处理日志文件容量与更新问题。
因此:
syslogd:主要控制系统与网络等服务的日志记录的信息
klogd:主要控制内核产生的各种问题的日志
logrotate:主要进行日志文件的轮替功能
1、syslogd:记录日志文件的服务
检查syslogd是否启动:#ps aux |grep syslog #chkconfig --list syslog
日志文件内容的一般格式
#cat /var/log/secure
|---日期/时间--|---服务相关函数-----------------|-----信息说明-------->
举例来说:第一行意思是,那个时间点,有www这台主机的su传来消息,这个消息是通过pam_unix这个模块提出的,内容为tianqi这个账号的su服务已经被root打开了。
2、syslogd的配置文件:/etc/syslog.conf
这个文件规定了什么服务的什么等级信息以及需要被记录在哪里。
语法为: 服务名称[.=!]信息等级 信息记录的文件名或设备或主机
例如:mail.info /var/log/maillog.info
意思是mail服务产生的大于等于info等级的信息,都会记录到/var/log/maillog.info文件中。
1、syslog设置的服务主要有:
为了让不同的服务放到不同的文件当中,以便分门别类进行日志文件的管理,就是/etc/syslog.conf这个文件所要做的规范了。
2、信息等级
syslog将信息分为七个等级
除了这些,还有两个特殊的等级,那就是debug(错误检测等级)与none(不需登陆等级)
3、注意连接号:
“.”:代表比后面还要高的等级(含该等级)都被记录下来
“.=”:代表所需要的等级就是后面接的等级而已
“.!”:代表不等于,即是除了该等级以外的其他等级信息都记录
4、信息记录的文件名或设备或主机
就是这个信息要放到哪里。通常我们都是使用文件,但也可以输出到设备。下面是一些常见放置处:
文件的绝对路径:通常就是放在 /var/log/ 下面。
打印机或其他:例如 /dev/lp0这个打印机。
用户名称:显示给用户。
远程主机:例如 @www.vbird.tsai,当然,要对方主机支持才行。
*:代表目前在线的所有人,类似wall这个命令。
例子:将新闻组资料及例行性工作调度的信息都写入到 /var/log/cronnews的文件中,但两个程序的警告信息则额外记录到 /var/log/cronnews.warn中。
这样就好了,news.*代表所有信息。
例子:messages这个文件要记录所有信息,但就是不想记录cron,mail,news的信息。
有一行没显示出来:
#kern.* /dev/console 表示内核产生的信息,全都送到终端机去。
local7.* 将本机开机时应该显示到屏幕上的信息都写入/var/log/boot.log中。
mail.* 这一行文件前有“-”,由于邮件产生的信息比较多,因此,希望邮件产生的信息先记录在速度较快的内存中,等数据量够大时再一次性写入。
在linux下增加什么日志信息,在/etc/syslog.conf中修改即可。