美文网首页
Linux | rsync 快速删除目录中的大量文件

Linux | rsync 快速删除目录中的大量文件

作者: iBioinformatics | 来源:发表于2023-05-01 20:10 被阅读0次

问题详情

在业务运行时,没有制定日志清除规则,导致在日志目录下保存了大量的日志文件。
在使用

rm -rf $dir

删除旧的日志时,会提示

-bash: /bin/rm: Argument list too long

通过ls |xargs rm -rf也可以进行删除,但是会耗费大量的时间。

在网上找到一种快速删除大量文件的方法rsync,有点类似MySQLtruncate table

具体操作方法

先创建一个空目录
注意:最好是用和被清空目录的所有者(用户)去创建这个空目录,使用的命令会将空目录的权限带过去

mkdir /tmp/empty


# 清除目标目录的文件,不要忘记目录后面的`/`
rsync --delete-before -av /tmp/empty/ /var/log/target/

选项说明

-delete-before:接收者在传输之前进行删除操作
-a:归档模式,表示以递归方式传输文件,并保持所有文件属性
-v:详细输出模式

rsync快的原因

rm删除内容时,将目录的每一个条目逐个删除(unlink),需要循环重复遍历很多次;

rsync删除内容时,建立好新的空目录,替换掉老目录,不需要进行大量的遍历操作。

转自:https://www.jianshu.com/p/b9519e589f62

相关文章

  • Linux快速删除目录中的大量文件

    问题详情 在业务运行时,没有制定日志清除规则,导致在日志目录下保存了大量的日志文件。在使用rm -rf $dir删...

  • rsync快速删除大量小文件

    有时候一个文件中有几十万个甚至更多子文件的情况下,就算这个文件不大,可能只有几G的情况下,用rm -rf 仍然很慢...

  • Rsync同步

    Rsync在linux端 rsync 同步当前目录 加名字同步该名字文件夹

  • 快速删除包含大量文件的目录

    使用 rm -rf 效率不高,可使用 rsync (srcDir 为空目录)rsync -r --delete ...

  • rsync使用简介

    介绍 rsync是Linux下用于远程同步文件的工具,全称remote sync。rsync可以同步整个目录,同步...

  • Linux下快速删除大量文件

    昨天遇到一个问题,在Linux中有一个文件夹里面含有大量的Cache文件(夹),数量级可能在百万级别,使用rm -...

  • rsync通过服务同步、Linux系统日志、screen

    rsync通过服务同步 Linux文件同步工具-rsync rsync通过服务同步 Linux文件同步工具-rsy...

  • Linux文件操作相关命令

    Linux文件操作相关命令 -创建文件夹 -切换目录 -查看当前工作目录 -删除目录命令 -删除文件 -删除目录 ...

  • 搞定Linux文件系统和文件操作

    linux 中万物都是文件 一、文件系统目录结构 根目录: / 快速跳转cd / 家目录:/home 快速跳转:c...

  • 快速删除大量文件

    昨天遇到一个问题,程序下载中间结果文件,由于磁盘大,上线几个月都没发现,最昨磁盘报警不足。想着rm -rf删除,发...

网友评论

      本文标题:Linux | rsync 快速删除目录中的大量文件

      本文链接:https://www.haomeiwen.com/subject/wyegjdtx.html