Linux22:日志
日志
系统日志
linux中的日志服务是rsyslogd,它取代了原来的的syslogd,rsyslogd服务是默认自启动的。
常见日志的作用:
除了系统默认的日志之外,采用RPM方式安装的系统服务也会默认把日志记录在/var/log/目录中(源码包安装的服务日志是在源码包指定目录中)。不过这些日志不是由rsyslogd服务来记录和管理的,而是各个服务使用自己的日志管理文档来记录自身日志。
基本日志格式一般是事件发生的时间+主机名+服务名或程序名+事件的具体信息,如/var/log/secure:
配置文件/etc/rsyslog.conf记录系统日志的作用和位置:
白字代表一种日志,如authpriv.* /var/log/secure
,它是按照:服务名称[连接符号]日志等级 日志记录位置
来记录的,authpriv代表这是认证相关服务,其他服务如下:
连接符:
.*代表所有日志等级都记录,*实际上不是日志等级,而是通配符。
日志等级:
从debug到emerg日志等级越来越高,等级越高记录的内容越少,优先处理的级别越高,危害越大。
日志记录位置:
日志轮替
日志文件很大时打开可能会死机,保持日志可用一般要同时采用两项措施:
1、日志切割。把每天或每周的日志单独保存为一个文件,保证文件不过大。
2、日志删除。把多余的日志定期删除,防止占满磁盘。
如果配置文件中拥有“dateext”参数,那么日志会用日期来作为日志文件的后缀,例如“secure-20130605”,最新生成的日志文件名总是secure,当重复生成日志时,前一个日志会被命名,而新日志名依然是secure。
如果配置文件中没有“dateext”参数,那么日志会简单的加上数字来区分,如“secure.1”,新生成的日志名总是secure,每次新生成都会依次修改所有日志名,即secure改名为secure.1,secure.1改名为secure.2。
配置文件/etc/logrotate.conf中记载了日志轮替相关设置,其中关键字如下:
源码包的日志轮替需要手动设置,以apache为例,应该在上述配置文件中加入:
/usr/local/apache2/logs/access_log {
daily
create
rotate 30
}
第一行是要备份的日志,一个应用可能存在多个需要备份的日志,大括号内的词代表每天备份一次,建立新日志,保留日志文件的个数为30。