===========在Linux下删除海量文件的情况,需要删除数十万个文件=================
有时在linux系统中我们的程序或者系统因各类原因创建了非常多的文件,如果使用rm命令去删除会比较慢(特别是删除超量的文件且总量已达到TB级别时),等着很着急,容易影响我们后续的业务/工作进行,
所以推荐使用rsync去快速的删除文件,步骤如下:
1)建立一个空的文件夹:
mkdir /tmp/test
2)用rsync删除目标目录:
rsync --delete-before -a -H -v --progress --stats /tmp/test/ log/
sudo rsync --delete-before -a ./empty/ ./data/
sudo rsync --delete-before -a -H ./empty/ ./data/
这样我们要删除的log目录就会被清空了,删除的速度会非常快。rsync实际上用的是替换原理,处理数十万个文件也是秒删。
选项说明:
--delete-before 接收者在传输之前进行删除操作
--progress 在传输时显示传输过程
--a 归档模式,表示以递归方式传输文件,并保持所有文件属性
--H 保持硬连接的文件
--v 详细输出模式
--stats 给出某些文件的传输状态