最近遇到了一件頭疼的事情,一個文件夾裡面有120萬個小文件,刪除不了,查看也是非常慢.並且佔用空間100G以上,是一個非常頭疼的事情,如果去拷貝,會非常慢.
解決思路,因為ls非常慢,希望找到按時間移動,然後再打包,如果每件沒用的話,按時間刪除即可.
在網上搜索了好多資料,整理並實踐.
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/
參考
http://www.dn58.net/htm/jichuzhishi/caozuoxitong/1191.Htm
http://zhidao.baidu.com/question/97927026
http://www.jb51.net/article/15006.htm
http://zhaizhenxing.blog.51cto.com/643480/134885
本文出自 「魏若愚--專註Linux」 博客,請務必保留此出處http://weiruoyu.blog.51cto.com/951650/832497
[火星人 ] linux 按時間 移動 find mv 並進行分批打包已經有868次圍觀