您的位置:首页 > 其它

巧用find命令清除系统垃圾

2010-07-21 17:28 337 查看
提起find命令,大家一定不会陌生吧,相信大家经常会用到它.
没错,它就是用来查找指定文件或目录的命令.

但大家有没有想过利用find命令来帮助我们清除系统里的垃圾呢???
现在我就告诉大家一个很简单的方法,特别注明这是写给菜鸟的,大侠们就不用看啦,呵呵……

当我们在系统下运行某个程序出错的时候,系统会自动将残留在内存中的数据存成core文件,久而久之,系统中遗留下来的core会越来越多,就像灰尘一样散落在系统的每一个角落里,很是烦人。

这个时候,我们就可以应用find命令加上―exec参数来清理它们。
用root帐户登录系统,打开终端输入:
find / -name core -print -exec rm -rf {} \;
上述命令表示由根目录开始查找名为core的文件或目录,然后显示在屏幕上,之后再将所查到的结果全部删除。

最后提醒大家,在使用-exec参数时,必须以“\;”结尾,否则,系统会提示“find遗漏-exec参数”,命令将无法执行。

用以下方法可以自动管理

经过查找发现其原因是内核中开启的审核子系统LauS (Linux Auditing System)写的日志太多,把/var空间占了,再次登陆的时候,由于无法写日志导致挂在那里,出现假死现象。

  解决方法:

  定位到问题以后,就可以想办法解决了,目前可行的办法由四种,分别如下:

  1、定期手工删除/var/log/audit.d下的日志文件

  #删除7天前的

  find ./ -mtime +7 -type f -exec rm {} ;

  2、配置crob自动删除或者备份

  SEVEN_DAYS_OLD=`/usr/locale/ebin/date '+%d' --date '7 days ago'`

  if [ -f /var/log/audit/bin/bin.${SEVEN_DAYS_OLD} ]

  then

  rm /var/log/audit/bin.${SEVEN_DAYS_OLD}

  fi

  3、修改/etc/audit/audit.conf配置文件

  可以通过修改audit.conf来配置,让其自动处理

  1)修改为自动删除的:

  notify = "/usr/sbin/audbin -S /var/log/audit.d/save.%u -C -T 20% -N 'rm -f %f'";

  [The notify line as above should (according to the docs) remove old 'save' files when the filesystem comes within 20% of full (change the figure after -T to specify how close to full you want to start deleting old files).]

  2)修改为自动备份的:(/backup 是另外您想保存数据的分区)

  notify = "/usr/sbin/audbin -S /var/log/audit.d/save.%u -C -T 20% -N 'mv %f /backup'";

  4、禁用audtid服务

  如 果您不需要审核信息,禁用audtid服务 ("chkconfig --del auditd"),系统性能会有所提高. 如果想要彻底禁用内核中的audit,可以删除 /dev/audit文件,重新启动。以后可以通过在grub.conf 里kernel行最后加入audit=1来启用。本文出自 “博客即日起停止更新” 博客,请务必保留此出处http://sucre.blog.51cto.com/1084905/354520
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: