常见日志
/var/log/cron 系统定时任务日志
/var/log/dmesg 系统开机时内核自检信息,也可以使用dmesg命令查看
/var/log/btmp 登陆错误信息,这是二进制文件,要使用lastb命令查看
/var/log/lastlog 记录系统中所有用户最后一次登陆事件的日志。这是二进制文件,要使用lastlog命令查看
/var/log/maillog 记录邮件信息
/var/log/message 记录系统重要信息,这个日志文件记录系统绝多数重要信息
/var/log/secure 记录验证和授权信息,只要设计账户和密码的程序都会记录
/var/log/wtmp 永久记录所有用户登陆、注销信息,同时记录系统启动、重启、关机事件。
日志文件格式
事件产生时间
发生事件的服务器的主机名
产生事件的服务名或程序名
事件的具体信息
/etc/rsyslog.conf配置文件
authpriv . * /var/log/secure
#服务名称 [ 连接符号 ] 日志等级 日志记录位置
#认证相关服务.所有日志等级记录在/var/log/secure日志中
cron 系统定时任务cront和at产生的日志
daemon 和各个守护进程相关的日志
ftp ftp守护进程产生日志
kern 内核产生的日志(不是用户进程产生的)
local0-local7 为本地使用预留的服务
mail 邮件收发信息
syslog 有syslog服务产生的日志信息,(虽然服务名称已经改为rsyslogd,但是很多配置都还是使用syslogd,所以并没有修改服务名)
uucp uucp子系统的日志信息,uucp是早起linux系统进行数据传递的协议,后来常用在新闻组服务中
连接符号:
“*”代表所有日志等级。如“authpriv.*”代表authpriv认证信息服务产生的日志,所有的日志等级都记录
“.”代表只要比后面的等级高的(包含该等级)日志都记录。如“cron.info”代表cron服务产生的日志,只要日志等级大于等于info级别,就记录
“=”代表只记录所需等级的日志,其他登记的都不记录。如“*.=emerg”代表人和日志服务产生的日志,只要等级是emerg等级就记录。
“.!”代表不等于,也就是除了该等级的日志外,其他等级的日志都记录
日志等级
debug 一般的调试信息说明
info 基本通知信息
notice 普通信息,有一定重要性
warning 警告信息,但不至于影响服务或系统运行
err 错误信息,一般达到err等级的信息可能影响服务或系统运行
crit 临界状况信息,比err等级严重
alert 警告状态信息,比crit等级严重。必须采取措施
emerg 疼痛等级信息,系统无法正常使用
日志记录位置
日志文件的绝对路径
系统设备文件,如:/dev/lp0
转发给远程主机,如:@192.168.200.1:514
用户名,如:root、* 发送给所有用户
忽略或丢弃,如“~”
日志轮替
日志文件命名规则
1.如果配置文件中拥有dateext参数,那么日志会用日期来作为日志文件的后缀,例如“secure-20170607”。这样的话日志文件名不会重叠
2.如果配置文件中没有dateext参数,那么日志文件就需要进行改名了。当第一次进行日志轮替时,当前的secure日志会自动改名为secure.1,然后新建secure日志,用来保存新的日志。当第二次进行日志轮替时,secure.1会自动改名为secure.2,当前的secure日志会自动改名为secure.1,然后也会新建secure日志。以此类推
/etc/logrotate.conf配置文件
daily 日志的轮替周期是每天
weekly 日志的轮替周期是每周
monthly 日志的轮替周期是每月
rotate n 保留的日志个数,n是数字,0指没有用备份
compress 日志轮替时,旧的日志进行压缩
create mode owner group 建立新日志,同时指定新日志的权限与所有者和所属组。如create 0600 root utmp
mail address 当日志轮替时,输出内容通过邮件发送到指定邮件地址
missingok 如果日志不存在,则忽略该日志的警告信息
notifempty 如果日志为空文件,则不进行日志轮替
minsize 1M 日志轮替的最小值。也就是日志一定要达到这个最小值才会轮替,否则就算时间达到也不轮替
size 1M 日志只有大于指定大小才进行日志轮替,而不是按照时间轮替
dateext 使用日期作为日志轮替文件的后缀。如secure-201767
把源码包安装的apache日志加入轮替
vim /etc/logrotate.conf
/usr/local/apache2/logs/access_log{
daily
create 0664 root utmp
rotate 30
}
logrotate 配置文件名 按照配置文件中的条件进行日志轮替
-v 显示日志轮替过程
-f 强制进行日志轮替,不管日志轮替的条件是否已经符合,强制配置文件中所有的日志进行轮替