日志的作用:
用于记录系统或程序中发生的各种事件;
用于阅读日志,有助于诊断解决系统故障;
分类:
内核以及系统的日志:用系统服务同一进行管理,
用户日志:记录系统用户的登录以及退出系统的相关信息
程序日志:由各种应用管理的日志
一般格式为:时间、主机名、子系统名称、消息字段(所进行的操作)
日志的配置文件:/etc/rsyslog.conf
主要记录了服务的类型和级别,消息发送位置。
主要类型:authpriv:主要与认证有关的机制,
级别:数字越小,级别越严重。
0:emerg紧急:会导致主机系统不可用的情况
1:alert警告:必须马上采取措施解决的问题
2:crit严重:比较严重的情况
3:err错误:运行出现错误
4:warning提醒:可能会影响系统功能的事件
5:notice注意:不会影响系统但值得注意
6:info信息:一般信息
7:debug调试:程序或系统调试信息等
配置文件语法:
设备类型【链接符】日志级别
. 记录大于等于后面级别的日志
.= 只记录等于后面级别的日志
.!+ 记录不等于后面级别的日志
例:cron.info:记录cron设备的级别大于info的行为日志
用户验证相关日志和命令:
/var/log/lastlog: 查看最近一次登录系统的相关信息,lastlog命令就是使用这个文件
/var/log/secure: 涉及到输入帐号的事件都会记录在此文件中。
/var/log/wtmp: 记录用户开关机,登录注销系统等事件。
who,w: 查看登录信息,其中w命令可以显示当前系统中每个用户和它运行的进程信息。
logger: 从命令行直接向系统日志文件写入一行信息。
syslog服务架设:
1、配置服务器端:
a、vi /etc/rsyslog.conf,去除13.14.17.18行的#号。开启服务器端的日志接受功能。要关闭服务器端的防火墙和selinux
2、配置客户端:
b、vi /etc/rsyslog.conf 跳到最后一行,添加“*.* @@10.0.2.9:514”即将所有设备的日志结果发送到10.0.2.9主机上。
日志轮转功能
为了方便有效的管理日志,防止日志文件过大而使用。
logrotate:日志轮转命令,
配合一个配置文件,再加上计划任务,隔一段时间执行一次,实现轮转功能,
轮转配置文件:
给日志的轮转做指导作用,指导logrotate如何轮转。主配置文件为:/etc/logrotate.conf 次配置文件为:/etc/logrotate.d/*
主配置文件,对所有在日志轮转中定义的日志文件都有效,写在此内部的局部配置文件仅对个别日志有效,主要包括:
weekly 所有的日志每周进行一次轮转
rotate 4 所有的日志默认保留四个旧文件
minsize 指定执行轮转的日志文件最小大小,默认单位为Byte,日志达到此数即执行轮转
create 创建一个新的日志文件,可以指定日志文件的权限以及用户和组
include /etc/logrotate.d/* 包括了次配置文件所在的目录。
局部配置文件:/var/log/wtmp,只是一个日志文件名,其后的内容是对这个日志特有的配置,仅对他有效
次配置文件,为了方便管理,将一些配置放在特定的文件夹下 /etc/logrotate.d/*。可以指定一个配置文件只对特定程序的日志有效。但此中可以调用外部脚本,将外部命令放在 sharedscripts和 endscript之间即可;
prerotate:在脚本中,logrotate命令执行前执行脚本内容
postrotate:logrotate命令运行后执行脚本内容。
命令:
logrotate -f /etc/logrotate.d/dear 强制执行dear定义的轮转
计划任务:
创建和管理在指定的时间自动的执行任务。
at:
在指定的时间点自动执行预先设置的一些命令操作。一次性的执行任务。守护程序为/etc/init.d/atd
用法 at hh:mm 再输入指令,ctrl+d退出,at -l 查看计划任务。
at+time+file 在规定时间执行文件内的命令。
at -c +at编号 可查看计划任务的命令。
batch:
格式和命令与at完全相同,但at无论系统的使用率如何都会执行,而batch会根据系统的使用率进行分辨,只在系统闲置时才执行计划任务。
crontab:
按照预先的设置周期的重复执行用户指定的命令操作。
anacron :
弥补系统突然关机后不能执行cron计划任务的问题,在系统开机后,anacron会自动扫描为执行的计划任务,并将未执行的任务交给cron继续执行。
注:
日志由系统服务rsyslogd统一管理(新版本为rsyslogd,旧版本syslogd),主要程序为/sbin/rsyslogd。配置文件为/etc/rsyslog。conf
lsof -i :514 查看514端口的状态。
uname -a 查看系统内核信息
at和crontab的计划任务存放在/var/spool内。at的计划任务执行完毕会自动删除
在次配置文件中没有设置的重要选项,默认使用主配置文件的选项
修改了程序的配置文件之后都需要刷新服务才能有效。
练习:
将主机2上与计划任务相关的日志都发到主机1上去;修改主机1配置文件,将计划任务相关的日志记录到日志文件/var/log/newcron.log;设定该日志文件的轮转,每周轮转一次,若该文件大于5M,则自动轮转,
思路:1、配置服务器端:
a、vi /etc/rsyslog.conf,去除13.14.17.18行的#号。开启服务器端的日志接受功能。要关闭服务器端的防火墙和selinux。将cron的日志修改为/var/log/dear.txt
b、在/etc/logrotate.d/下建立一个针对dear日志的轮转配置文件
/var/log/dear.txt{
weekly
create 0644 root root
minsize 1024
rotate 4
}
c、刷新rsyslog服务。
2、配置客户端:
a、vi /etc/rsyslog.conf 跳到最后一行,添加“*.* @@10.0.2.9:514”即将所有设备的日志结果发送到10.0.2.9主机上。
b、刷新rsyslog服务