今天遇见一个百万级的cache目录,删了20+分钟只删掉一个目录。。。。
在网上找到了一种巧妙的快速删除方法,原理很简单,使用rsync同步一个空目录即可,对于万级文件的目录基本是秒删,回车就OK,爽歪歪~~~~~
步骤如下:
1、建立一个空目录
mkdir -p /tmp/rsync_blank
2、确立需要清空的目标目录
/data/web/vip/htdocs/tuan
3、使用rsync同步删除(注意目录后面的“/”),整体效率会快一个数量级的样子。
rsync --delete-before -a -H -v --progress --stats /tmp/rsync_blank/ /data/web/vip/htdocs/tuan/
选项说明:
–delete-before 接收者在传输之前进行删除操作
–progress 在传输时显示传输过程
-a 归档模式,表示以递归方式传输文件,并保持所有文件属性
-H 保持硬连接的文件
-v 详细输出模式
-stats 给出某些文件的传输状态
一般我们不需要显示进度,使用以下命令即可
rsync --delete-before -a -H /tmp/rsync_blank/ /data/web/vip/htdocs/tuan/