分类: LINUX
2013-12-09 19:04:45
定期清理过期文件和垃圾文件,维持文件系统合理的空间使用率,是一个运维工程师的日常管理工作,但是有多少朋友清楚我们要清理的目标有哪些呢?其实对于清理文件系统而言,我们可以把清理任务分成如下几类:
1) 清理过期文件;
2) 清理垃圾文件;
3) 清理工程遗留文件;
4) 清理鸡肋似文件。
一、什么是过期文件
任何数据都有自己的生命周期,数据的生命周期曲线告诉我们,数据在产生和产生之后的一段时间内的价值最大,然后数据价值随着时间衰减。当数据生命周期结束时,就应该删除这些过期文件,将存储空间释放出来留给有价值的数据。
二、什么是垃圾文件
系统运行过程中,会产生各种各样的临时文件,些应用程序运行时的临时文件,系统错误产生的 Trace 文件,Core Dump 等等,在这些文件被处理后,就失去了保留价值,这些文件可以统称为垃圾文件及时清理垃圾文件,有助于系统维护和管理,保证系统稳定有效的运行。
三、什么是工程遗留文件
软件安装过程中产生的临时文件许多 bin 格式的软件在安装时,首先要把自身的安装文件解压缩到一个临时目录(一般为/tmp 目录)然后再进行安装。如果软件设计有疏忽或者系统有问题,当安装结束后,这些临时文件就会变得并不“临时”,成为硬盘里的一堆垃圾,很多时候它们以*.tmp 的面孔出现。
四、什么是鸡肋文件
比如一些应用软件自带的帮助和系统手册页包括损坏的应用程序菜单按钮和文件关联等。既然食之无味索性也将它们视作垃圾文件的一种表现。
下面开始清理我们的系统:
1)删除无主文件
#find ./ -nouser |xargs rm –rf
2)删除core 文件
# find / -name core -print -exec rm -rf {} \;
3)删除多余其他国语言帮助手册页(只保留man中文版和英文版)
# cd /usr/share/man
# find ./ -maxdepth 1 -type d | tail -n +2 | grep -E -v '(en|zh|man).*' | \
while read d; do rm -rf $d; done
5) 删除指定路径、指定时间的期限的文件
cd /
find ./ -name "*.LOG" -ctime +90 -type f | xargs -i rm -rf {} \;
6) 如果从一个千万级以上的文件系统里,删除指定日期创建的文件
1、 建议首先生成一个合适尺寸大小的删除清单;
2、 使用5的脚本并行删除历史文件即可~