进行以下两步操作即可:

1、第一步:创建空的文件夹: mkdir  /tmp/blank

2、第二步:执行以下命令:rsync --delete-before -d /tmp/blank/ /home/stormnode/store/html/new/

Linux 快速删除大量小文件方法


    当我们在linux系统中要删除数万或者数十万甚至数百万的文件时使用rm -rf *就不太好用,因为要等待很长一段时间。在这种情况之下我们可以使用linux系统命令rsync来巧妙的处理。rsync实际上用的是替换原理,处理数十万个文件也是秒删。
    1. rsync安装,有些系统默认安装有该命令
ubuntu系统:sudo apt-get install rsync
fedora 系统:sudo yum install rsync
其他的可以源码安装,到下面的网站下载
http://rsync.samba.org

2. rsync提供了一些跟删除有关的参数

rsync --help | grep delete
     --del                                an alias for --delete-during
     --delete                          delete extraneous files from destination dirs
     --delete-before             receiver deletes before transfer, not during
     --delete-during             receiver deletes during transfer (default)
     --delete-delay               find deletions during, delete after
     --delete-after                receiver deletes after transfer, not during
     --delete-excluded        also delete excluded files from destination dirs
     --ignore-errors             delete even if there are I/O errors
     --max-delete=NUM    don't delete more than NUM files
其中--delete-before接收者在传输之前进行删除操作
 

3. 示例

清空目录或文件,如下:

1、先建立一个空目录

mkdir /data/blank

2、用rsync删除目标目录

rsync --delete-before -d -a -H -v --progress --stats /data/blank/ /var/edatacache/
或者
rsync --delete-before -d /data/blank/ /var/edatacache/
这样/var/edatacache目录就被快速的清空了。
 
选项说明:
–delete-before 接收者在传输之前进行删除操作
–progress          在传输时显示传输过程
-a                       归档模式,表示以递归方式传输文件,并保持所有文件属性
-H                      保持硬连接的文件
-v                       详细输出模式
–stats                给出某些文件的传输状态
-d                      transfer directories without recursing
 

3、也可以用来删除大文件

假如我们在/root/下有一个几十G甚至上百G的文件data,现在我们要删除它

一、创建一个空文件

touch /root/empty

二、用rsync清空/root/data文件

    rsync --delete-before -d --progess --stats /root/empty /root/data
 
 

注意:

当SRC和DEST文件性质不一致时将会报错

当SRC和DEST性质都为文件【f】时,意思是清空文件内容而不是删除文件

当SRC和DEST性质都为目录【d】时,意思是删除该目录下的所有文件,使其变为空目录

Linux 快速删除大量小文件方法的更多相关文章

  1. linux快速复制大量小文件方法 nc+tar【转】

    1,在需要对大量小文件进行移动或复制时,用cp.mv都会显得很没有效率,可以用tar先压缩再解压缩的方式.  2,在网络环境中传输时,可以再结合nc命令,通过管道和tcp端口进行传输.  nc和tar ...

  2. linux 用 rsync 快速删除大量小文件

    假设我们在目录 /tmp/to_delete 下有很多小文件 a1 a2 a3 f1 f2 f3 现在我们想快速的删除f 开头的文件. 如果文件量大,用rm 可能会失败,而且会很慢, 所以用rsync ...

  3. Linux下快速删除大量小文件引起的磁盘inode(目录索引)过满

    1)首先建立一个空白文件夹. mkdir /tmp/empty 然后安装下rsync yum install -y rsync 2)之后使用以下语句即可快速的删除文件. rsync --delete- ...

  4. linux下删除大量小文件

    当目录下文件太多时,用rm删除文件会报错:-bash: /bin/rm: Argument list too long提示文件数目太多.解决的办法是使用如下命令:ls | xargs -n 10 rm ...

  5. linux下恢复误删除的文件方法(ext2及ext3)

     linux下恢复误删除的文件方法(ext2及ext3) 2009-12-19 15:23:47 分类: LINUX 如果是ext2文件系统的,直接用debugfs是可以恢复出来的,但对于ext3,d ...

  6. linux md5 加密字符串和文件方法

    linux md5 加密字符串和文件方法 MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改.MD5全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任意 ...

  7. Linux中删除特殊名称文件的多种方式

    今日分享:我们在肉体的疾病方面花了不少钱,精神的病害方面却没有花什么,现在已经到了时候,我们应该有不平凡的学校.--<瓦尔登湖> 前言 我们都知道,在linux删除一个文件可以使用rm命令 ...

  8. linux下生成core dump文件方法及设置

    linux下生成core dump文件方法及设置    from:http://www.cppblog.com/kongque/archive/2011/03/07/141262.html core ...

  9. Linux 快速删除已输入的命令

    从输入模式到命令模式: 按”:“到最后一行,再按ctrl+z 就好了 history 显示命令历史列表 ↑(Ctrl+p) 显示上一条命令 ↓(Ctrl+n) 显示下一条命令 !num 执行命令历史列 ...

随机推荐

  1. JS动态创建Table,Tr,Td并赋值

    JS动态创建Table,Tr,Td并赋值. 成果库修改: 要求主题列表随成果类型改变而改变 网上查询资料后开工,在成果类型下拉框添加change()事件触发Dwr,查询主题集合——动态创建/编辑Tab ...

  2. RhinoMock顺序调用

    MockRepository mocks = new MockRepository(); ISongBird maleBird = (ISongBird)mocks.StrictMock(typeof ...

  3. 小tip: 如何让contenteditable元素只能输入纯文本

    div模拟textarea文本域轻松实现高度自适应 这篇文章发布于 2010年12月23日,星期四,22:07,归类于 css相关. 阅读 112630 次, 今日 40 次 by zhangxinx ...

  4. dubbo的一些默认变量

    dubbo默认变量表 变量名 描述 默认值 用途 DEFAULT_IO_THREADS 默认IO线程 Math.min(Runtime.getRuntime().availableProcessors ...

  5. 判断IP是否为爬虫IP

    方法一: 通过国外网站验证:http://bot.myip.ms/123.125.71.12 返回结果: IP/Domain - 123.125.71.12:   Baidu Bot on this ...

  6. 重启sphinx

    connection to localhost:9312 failed 只能上传不能下载 /usr/sbin/setenforce 0 立刻关闭 SELINUX/usr/sbin/setenforce ...

  7. 一款基于css3非常实用的鼠标悬停特效

    今天给大家带来一款基于css3非常实用的鼠标悬停特效.这款特效,当鼠标经过时候一个半透明的遮罩层倒下来.效果很好,而且是纯css3实现的,代码很少,非常实用. 效果如下: 在线预览   源码下载 实现 ...

  8. JDBC的介绍

    JDBC详解   1.JDBC是什么? JDBC(JAVA DataBase Connection)即JAVA数据库连接技术,JDBC API是一个Java API,可以访问任何类型表列数据,特别是存 ...

  9. ativemq使用教程

    本文转自http://www.cnblogs.com/zhuxiaojie/p/5564187.html 目录:  一:JMQ的两种消息模式 1.1:点对点的消息模式 1.2:订阅模式 二:点对点的实 ...

  10. object not serializable (class: org.apache.kafka.clients.consumer.ConsumerRecord)

    3. object not serializable (class: org.apache.kafka.clients.consumer.ConsumerRecord)   val stream = ...