# find / -size +100M -exec du {} \;|sort -rnk1|awk '{printf("%.2fM %s\n",$1/1024,$2)}'
# du -sh $(find / -size +100M)列出大文件。
# find / -size +100M -exec du -sh {} \; 2>/dev/null
事件恢复方案
1、执行lsof /|grep deleted 确认是否有进程正在打开已被标记为删除的文件,若有,则用kill -9 进程号强制清除,再执行df检查文件系统利用率是否恢复;
2、若未有明显的空间释放,则执行find / -xdev -size +20480k -exec ls -lt {} \;|sort -rnk 5 >filelist.out(可根据输出文件数量修改20480数值,若为HPUX系统,则将+20480k改为+20480000c),此命令找出/目录下大于20M的文件,以文件大小从大到小排列,并将列表写入文件filelist.out。若找出文件较多或较少,可以适当调整"20M"参数;
3、将2中生成的filelist.out附上事件单,对于属主为系统用户的文件进行确认后清理,对于属主为应用用户的文件由相应应用事件处理人员确认并清理;
4、如果是属主为系统用户的log文件不宜直接清理,建议查询其它知识处理;
5、若检查发现/var/log/gdm目录下有类似于:0-greeter.log文件较大,可以按照第6步进行清理;
6、使用cat /dev/null > 日志文件名,例如cat /dev/null > :0-greeter.log;
7、df -k再次确认文件系统使用状态,确认根文件系统使用率下降,恢复正常。
问题原因
/var/log/gdm下的类似:0-greeter.log日志是Suse linux 系统图形桌面登陆器的日志文件,使用图形桌面就会产生,清除此日志不会对系统产生影响。
问题解决方案
:0-greeter.log日志清理后,无论有无登陆很快又会重新产生大日志,登陆会促使日志异常增大,从36%到91%最快记录是3天,厦门已反复清理过近10次。可在系统中设置该日志文件超过4M时自动清除。设置方案如下:
0 */1 * * * for i in $(du /var/log/gdm/* -s|awk '{if($1>4000) print $2}');do cat /dev/null >$i;done >/dev/null 2>&1
变更测试结果:
# crontab -l
变更原因:
/var/log/gdm下的类似:0-greeter.log日志是Suse linux 系统图形桌面登陆器的日志文件,:0-greeter.log日志清理后,无论有无登陆很快又会重新产生大日志,登陆会促使日志异常增大,现需要在系统中设置该日志文件超过4M时自动清除
本文介绍了如何在SUSE Linux系统中查找和清理大于20MB的大文件,特别是针对/var/log/gdm目录下的:0-greeter.log日志。通过`find`和`du`命令定位大文件,使用`cat /dev/null > 日志文件名`清空日志,以及设置cronjob在日志超过4MB时自动清理,以避免日志过大导致文件系统占用过高。
1716

被折叠的 条评论
为什么被折叠?



