Linux 系统日志的组成
Linux 系统日志的组成
主要的日志子系统:
1.连接时间日志--由多个程序执行,把记录写入到/var/log/wtmp和/var/run/utmp,login等程序更新wtmp和utmp文件,使系统管理员能够跟踪谁在何时登录到系统。
2.进程统计--由系统内核执行。当一个进程终止时,为每个进程往进程统计文件(pacct或acct)中写一个纪录。进程统计的目的是为系统中的基本服务提供命令使用统计。
3.错误日志--由syslogd(8)执行。各种系统守护进程、用户程序和内核通过syslog(3)向文件/var/log/messages报告值得注意的事件。另外有许多UNIX程序创建日志。像HTTP和FTP这样提供网络服务的服务器也保持详细的日志。
常用的日志文件如下:
access-log 记录HTTP/web的传输
acct/pacct 记录用户命令
aculog 记录MODEM的活动
btmp 记录失败的纪录
lastlog 记录最近几次成功登录的事件和最后一次不成功的登录
messages 从syslog中记录信息(有的链接到syslog文件)
sudolog 纪录使用sudo发出的命令
sulog 纪录使用su命令的使用
syslog 从syslog中记录信息(通常链接到messages文件)
utmp 纪录当前登录的每个用户
wtmp 一个用户每次登录进入和退出时间的永久纪录
xferlog 纪录FTP会话
直接删除日志:
1. 删除所有的日志:find /var -type f -exec rm -v {} \;(最后的分号也是必须命令的一部分)
2. 设置/etc/logrotate.d/syslog文件控制日志文件的大小。
3. 如果实在想自己手工清空某些日志文件的话, 可以使用命令:> /var/log/message。这个命令的功能是把文件message中的内容清空。 也可以将此命令加入到cron任务中。
linux详细日志解析:
unix系统日志文件通常是存放在"/var/log and /var/adm"目录下的。通常我们可以查看syslog.conf来看看日志配置的情况.如:cat /etc/syslog.conf
其中sunos的在/var/log和/var/adm下.还有/usr/adm为/var/adm的链接.
redhat的在/var/log 和 /var/run下.
下面的是sun os5.7中的日志样本.
# ls /var/adm
acct log messages.1 passwd sulog vold.log
aculog messages messages.2 sa utmp wtmp
lastlog messages.0 messages.3 spellhist utmpx wtmpx
# ls /var/log
authlog syslog syslog.1 syslog.3
sysidconfig.log syslog.0 syslog.2 syslog.4
下面的是redhat6.2中的日志样本.
# ls /var/log
boot.log dmesg messages.2 secure uucp
boot.log.1 htmlaccess.log messages.3 secure.1 wtmp
boot.log.2 httpd messages.4 secure.2 wtmp.1
boot.log.3 lastlog netconf.log secure.3 xferlog
boot.log.4 mailllog netconf.log.1 secure.4 xferlog.1
cron maillog netconf.log.2 sendmail.st xferlog.2
cron.1 maillog.1 netconf.log.3 spooler xferlog.3
cron.2 maillog.2 netconf.log.4 spooler.1 xferlog.4
cron.3 maillog.3 news spooler.2
cron.4 maillog.4 normal.log spooler.3
daily.log messages realtime.log spooler.4
daily.sh messages.1 samba transfer.log
# ls /var/run
atd.pid gpm.pid klogd.pid random-seed treemenu.cache
crond.pid identd.pid netreport runlevel.dir utmp
ftp.pids-all inetd.pid news syslogd.pid
一般我们要清除的日志包括如下:
lastlog
utmp(utmpx)
wtmp(wtmpx)
messages
syslog