日期:2014-05-16  浏览次数:20677 次

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