什么是日志文件?
记录系统活动信息的几个档案, 例如:何时、何地 (来源 IP)、何人 (什么服务名称)、做了什麽动作 (登录信息)
日志系统的主要服务与程序是systemd-journald.service, rsyslog.service, rsyslogd
通过linux 的 syslog 函数查询,了解服务名kernel, user, mail...等服务序号
/var/log/cron:
例行事件记录,crontab是否如约进行
/var/log/lastlog:
系统上所有账号最近一次登入的相关信息
/var/log/messages:
系统发生的错误讯息 (或者是重要的信息) 都会记录在这个档案中
var/log/secure:
只要牵涉到『需要输入帐号密码』的软件,那麽当登入时 (不管登入正确或错误) 都会被记录在此档案中。
/var/log/httpd/*, /var/log/samba/*:
一些网络服务的日志目录
日志一般内容
- 事件发生的日期与时间;
- 发生此事件的主机名称;
- 启动此事件的服务名称 (如 systemd, CROND 等) 或指令与函式名称 (如 su, login..);
- 该讯息的实际资料内容。
检测日志有修改的shell,有修改则报出时间
#!/bin/bash
#check_logfile_io.sh
#Used to monitor logs I/O
#writer jim
#histor
#2017.3.22
log_file_path=/usr/local/apache/log/access.log
First_md5sum=$(/usr/bin/md5sum $log_file_path | awk '{print $1}')
sleep 2
Second_md5sum=$(/usr/bin/md5sum $log_file_path | awk '{print $1}')
#利用比对2次取得的md5值来判断文件是否有被改动
if [ "$First_md5sum" == "$Second_md5sum" ]
then
echo "${data}"
else
echo "OK"
fi
日志轮换
- /etc/logrotate.conf
- /etc/logrotate.d/
logrotate 的主要功能就是将旧的登录档案移动成旧档, 并且重新建立一个新的空的档案来记录