linux 按时间 移动 find mv 并进行分批打包

来源:互联网 发布:控制无人机的软件 编辑:程序博客网 时间:2024/05/16 17:34
linux 按时间 移动 find mv 并进行分批打包
2012-04-12 17:45:36
标签:linux移动 按时间 find mv
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://weiruoyu.blog.51cto.com/951650/832497

最近遇到了一件头疼的事情,一个文件夹里面有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.压缩并打包

#tar -zcvf date_90.tar.gz date_90/

原创粉丝点击