原文:http://www.weiruoyu.cn/?p=448
最近遇到了一件头疼的事情,一个文件夹里面有120万个小文件,删除不了,查看也是非常慢。并且占用空间100G以上,是一个非常头疼的事情,如果去拷贝,会非常慢。
解决思路,因为ls非常慢,所以希望找到按时间移动,然后再打包,如果每件没用的话,按时间删除即可。
在网上搜索了好多资料,整理并实践。
显示前十个文件
[root@localhost smgpbi]# ls -1 | sort -u | head -10
1.首先查看文件个数,进入所在的文件
# find . -name "*" | wc -l
或者
# ll |grep "^-" |wc -l
2.查看文件个数
查看120天钱的文件个数
# find . -mtime +120 | wc -l
一般如果是小文件,控制在10-20万左右。
解释:-mtime +30 --设置时间为30天前;
-exec mv --查找完毕后执行移动操作;
3.按照时间移动到指定目录里
# find . -mtime +90 -exec mv {} /var/tmp/date_90 \;
4.计算大小
# du -sh date_90
大小一般控制在10-15G最好
5.压缩并打包
更详细的请参考:http://www.weiruoyu.cn/?p=448
转载于:https://blog.51cto.com/weiruoyu/832497