Rootop 服务器运维与web架构

利用rsync删除大量文件

有个文件夹有大量文件(四百多万个)需要删除,用rm是不行的,会提示 Argument list too long ,就需要一个快速删除方法。
这里采用rsync把一个空文件夹同步到要删除的文件夹实现。

需要清空的目标文件夹名:creditReport

# 创建一个空文件夹

[root@sych userfiles]# mkdir empty

# 写入要保留的文件名,一行一个。建议先备份一下要保留的文件。

[root@sych userfiles]# touch list.txt 

# 执行

[root@sych userfiles]# rsync --delete-before -d --exclude-from=list.txt empty/ creditReport/

# 参数解释

--delete-before # receiver deletes before transfer, not during 传输之前先删除文件,就是利用这个参数实现。
-d              # transfer directories without recursing 不递归传输目录
--exclude-from=FILE # read exclude patterns from FILE 从指定文件中读取要排除的文件,也就是要保留的文件

这四百多万个文件删除大约用时43分钟

原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/4316.html

作者:Venus

服务器运维与性能优化

评论已关闭。