什么是日志文件?
记录系统活动信息的几个档案, 例如:何时、何地 (来源 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 的主要功能就是将旧的登录档案移动成旧档, 并且重新建立一个新的空的档案来记录

For the LichKing !