在ROOTVG空间有限,且/var文件系统的空间已经足够大的情况下,/var文件系统空间快满了,这种情况怎么处理?IBM给了一个很好的处理流程:
- 使用find 命令检查在/var目录中所有大于1MB的文件,看是否可将其删除. 如:
#find /var -xdev -size +2048 -ls| sort -r +6 - 检查/var/tmp 中是否有可以删除的文件
- 检查/var/adm/wtmp文件的尺寸, 在此文件中记录了所有 login, rlogin 和 telnet 的会话调用. 文件尺寸会随着系统的持续运行的而逐渐增大. /var/adm/wtmp文件可以直接清空; 或编辑它,将旧的不再需要的记录给删掉. 使用下面的命令将 /var/adm/wtmp清空.
#cp /dev/null /var/adm/wtmp
若要编辑的话, 先拷贝/var/adm/wtmp文件到一临时文件中#/usr/sbin/acct/fwtmp < /var/adm/wtmp
>/tmp/out
接着,编辑临时文件,将不需要的内容删去,
#vi /tmp/out
然后使用下列命令来替换/var/adm/wtmp中的内容,
#/usr/sbin/acct/fwtmp -ic < /tmp/out > /var/adm/wtmp - 使用下述方法清空/var/adm/ras目录中的错误日志 errlog. 只有执行了errclear 命令,错误日志才会被清掉.
4.1 使用命令停止错误日志的后台程序 /usr/lib/errdemon
#/usr/lib/errstop
4.2 将errlog文件删除 或移到其他文件系统上.
#rm /var/adm/ras/errlog
或
# mv /var/adm/ras/errlog /otherfilesystem/filename
若删除errlog文件, 前面记录的错误日志也将从系统删除.
4.3 使用下面的命令重启 错误日志程序/usr/lib/errdemon #/usr/lib/errdemon
注: 不要使用cp /dev/null 命令来清空错误日志. 系统一旦发现零字节长度的 errlog 文件, 将关闭操作系统中记录错误日志的功能. 若出现此种情况,只有将原来的errlog备份恢复回来才能解决.
由于errlog的记录空间是有限的,可以考虑在cron 文件中加入如下行,使系统定期将一些错误日志给删掉.
0 11 * * * /usr/bin/errclear -d S,O 30
0 12 * * * /usr/bin/errclear -d H 90 - 检查在 /var 中的跟踪文件trcfile是否比较大, 如果是,并且系统中没有正在运行的trace程序, 可以将 trcfile删除
#rm /var/adm/ras/trcfile - 如果dump 设备设定的是 hd6(系统缺省值) , 可能在/var/adm/ras目录中会有许多以 vmcore为前缀的文件, 如果不想保留它们,可以使用rm 命令将其删除.
#rm /var/adm/ras/vmcore* - 检查/var/spool 目录, 在此包含了所有在队列子系统排队的文件, 使用下述命令清空队列子系统.
# stopsrc -s qdaemon
# rm /var/spool/lpd/qdir/*
# rm /var/spool/lpd/stat/*
# rm /var/spool/qdaemon/*
# startsrc -s qdaemon - 检查 /var/adm/acct 目录, 它包含了系统的审计记录 accounting. 如果启用了审计功能,此目录会包含许多大文件, 请参照系统审计来整理这些文件.
- 检查/var/preserve 目录, 它记录了所有被中断的vi会话调用. 通常,可以将这些文件删掉. 如果用户希望使用这些文件恢复以前的会话, 可以用 vi - r 命令列出所有可恢复的会话, 为了恢复某一会话调用,使用
# vi - r filename - 修改/var/adm/sulog文件, 它记录了su命令的使用, 以及是否执行成功. 这个文件是普通的文本文件, 可以使用编辑器来浏览和修改, 如果将其删去, 系统会在下一次使用su 命令时,重新创建它.
- 修改/var/tmp/snmpd.log文件, 它记录了与snmpd后台程序相关的事件. 如果将其删去, snmpd 程序会重新创建它.
另外, /var/tmp/snmpd.log文件尺寸可在/etc/snmpd.conf 文件设定,使之不会无限的增长 -- 编辑/etc/snmpd.conf 文件,为其中的size 域设置合适的值即可.