> Linux教程 > 系统运维 >

LINUX系统日志的清除


维护系统很长时间,第一次遇见系统日志把var空间占满了,经过查找资料解决。

主要的日志子系统:
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



(责任编辑:IT)