够意思博客够意思博客够意思博客

Linux快速删除大批量文件

网站运行一段时间后产生大量的过期session文件(近百万个文件)

尝试使用find命令删除过期文件

find /www/wwwroot/easyswoole/Temp/session_dir/ -type f -mtime +2 -exec rm -f {} \;

直接运行,服务器瞬间负载100%,删除完估计得将近一个小时。

于是百度一番又get到了新技能

Linux快速删除大批量文件

1.首先创建个空的目录

mkdir /tmp/test

2.用rsync删除目标目录

rsync --delete-before -a -H -v --progress --stats /tmp/test/   /www/wwwroot/easyswoole/Temp/session_dir/

这样目标目录很快就被清空了,耗时几秒钟而已

其中--delete-before 接收者在传输之前进行删除操作


总结:

rm删除内容时,将目录的每一个条目逐个删除(unlink),需要循环重复操作很多次;rsync删除内容时,建立好新的空目录,替换掉老目录,基本没开销。



本文为够意思原创文章,转载无需和我联系,但请注明来自够意思博客blog.go1s.cn:够意思博客 » Linux快速删除大批量文件

加载中~