<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[静怡家园]]></title> 
<link>http://www.zhanghaijun.com/index.php</link> 
<description><![CDATA[书山有路勤为径，学海无涯苦作舟！]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[静怡家园]]></copyright>
<item>
<link>http://www.zhanghaijun.com/post//</link>
<title><![CDATA[Linux 快速删除大量小文件方法]]></title> 
<author>碟舞飞扬 &lt;webmaster@zhanghaijun.com&gt;</author>
<category><![CDATA[技术文章]]></category>
<pubDate>Sat, 11 May 2013 19:29:21 +0000</pubDate> 
<guid>http://www.zhanghaijun.com/post//</guid> 
<description>
<![CDATA[ 
	&nbsp;&nbsp;&nbsp;&nbsp;当我们在linux系统中要删除数万或者数十万甚至数百万的文件时使用rm -rf *就不太好用，因为要等待很长一段时间。在这种情况之下我们可以使用linux系统命令rsync来巧妙的处理。rsync实际上用的是替换原理，处理数十万个文件也是秒删。<br/><br/>1. rsync安装，有些系统默认安装有该命令<br/>CentOS 系统：yum install rsync<br/>其他的可以源码安装，到下面的网站下载<br/>http://rsync.samba.org<br/><br/>2. rsync提供了一些跟删除有关的参数 <br/>rsync --help &#124; grep delete<br/>&nbsp;&nbsp;&nbsp;&nbsp; --del&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;an alias for --delete-during<br/>&nbsp;&nbsp;&nbsp;&nbsp; --delete&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delete extraneous files from destination dirs<br/>&nbsp;&nbsp;&nbsp;&nbsp; --delete-before&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; receiver deletes before transfer, not during<br/>&nbsp;&nbsp;&nbsp;&nbsp; --delete-during&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; receiver deletes during transfer (default)<br/>&nbsp;&nbsp;&nbsp;&nbsp; --delete-delay&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; find deletions during, delete after<br/>&nbsp;&nbsp;&nbsp;&nbsp; --delete-after&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;receiver deletes after transfer, not during<br/>&nbsp;&nbsp;&nbsp;&nbsp; --delete-excluded&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;also delete excluded files from destination dirs<br/>&nbsp;&nbsp;&nbsp;&nbsp; --ignore-errors&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; delete even if there are I/O errors<br/>&nbsp;&nbsp;&nbsp;&nbsp; --max-delete=NUM&nbsp;&nbsp;&nbsp;&nbsp;don't delete more than NUM files<br/>其中--delete-before接收者在传输之前进行删除操作<br/><br/>3. 示例 <br/>清空目录或文件，如下： <br/>1、先建立一个空目录 <br/><br/>mkdir /data/blank <br/>2、用rsync删除目标目录 <br/><br/>rsync --delete-before -d -a -H -v --progress --stats /data/blank/ /var/edatacache/<br/>或者<br/>rsync --delete-before -d /data/blank/ /var/edatacache/<br/>这样/var/edatacache目录就被快速的清空了。<br/><br/>选项说明：<br/>–delete-before 接收者在传输之前进行删除操作<br/>–progress&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在传输时显示传输过程<br/>-a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 归档模式，表示以递归方式传输文件，并保持所有文件属性<br/>-H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;保持硬连接的文件<br/>-v&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 详细输出模式<br/>–stats&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;给出某些文件的传输状态<br/>-d&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;transfer directories without recursing<br/><br/>3、也可以用来删除大文件<br/>假如我们在/root/下有一个几十G甚至上百G的文件data，现在我们要删除它<br/>一、创建一个空文件<br/>&nbsp;&nbsp;&nbsp;&nbsp;touch /root/empty<br/>二、用rsync清空/root/data文件<br/>&nbsp;&nbsp;&nbsp;&nbsp;rsync --delete-before -d --progess --stats /root/empty /root/data<br/><br/>注意：<br/>当SRC和DEST文件性质不一致时将会报错 <br/>当SRC和DEST性质都为文件【f】时，意思是清空文件内容而不是删除文件 <br/>当SRC和DEST性质都为目录【d】时，意思是删除该目录下的所有文件，使其变为空目录<br/>Tags - <a href="http://www.zhanghaijun.com/tags/rsync/" rel="tag">rsync</a> , <a href="http://www.zhanghaijun.com/tags/delete-before/" rel="tag">delete-before</a>
]]>
</description>
</item><item>
<link>http://www.zhanghaijun.com/post//#blogcomment</link>
<title><![CDATA[[评论] Linux 快速删除大量小文件方法]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.zhanghaijun.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>