Linux下使用rsync最快速删除大量文件
要在Linux下删除海量文件的情况,需要删除三层哈希目录下的几十万个文件。这个时候,删除命令rm -rf * 就不好用了,因为要等待的时间太长。所以必须要采取一些非常手段。我们可以使用rsync...
本文最后更新于 2022-07-20【1009 天前】,文中所描述的信息可能已发生改变,请谨慎使用。如有问题或建议,欢迎在文章底部留言参与讨论!
要在Linux下删除海量文件的情况,需要删除三层哈希目录下的几十万个文件。这个时候,删除命令rm -rf *
就不好用了,因为要等待的时间太长。所以必须要采取一些非常手段。我们可以使用rsync
来实现快速删除大量文件。
安装步骤
- 安装rsync
yum install rsync
- 建立一个空的文件夹
mkdir /tmp/test
- 用rsync删除目标目录
rsync --delete-before --force -r /tmp/test /cache
这样要删除的cache目录就会被清空了,删除的速度会非常快。
选项说明
--delete-before 接收者在传输之前进行删除操作
-r recurse into directories
注意
/tmp/test
是我们提前建立的文件夹,后面的/nginx_cache
是要删除的文件的所在目录。- 当
SRC
和DEST
文件性质不一致时将会报错 - 当
SRC
和DEST
性质都为文件【f】
时,意思是清空文件内容而不是删除文件 - 当
SRC
和DEST
性质都为目录【d】
时,意思是删除该目录下的所有文件,使其变为空目录
可能遇到的问题
rsync 'cannot delete non-empty directory' errors, even with --force option
cannot delete non-empty directory 错误在同步source side的时候,你希望执行 rsync --delete. Rsync 不会让你删除不包含在同步目录内的文件。添加 --delete-excluded 选项即可解决。
参考
本文作者:Quanyin Tang
本文链接:Linux下使用rsync最快速删除大量文件 - https://www.imtqy.com/linux-rsync-delete-files.html
版权声明:如无特别声明,本文即为原创文章,仅代表个人观点,版权归 Quanyin 所有,未经允许禁止转载,经授权转载请注明出处!
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。