linux中rsync快速删除小文件方法linux操作系统
“emo”通过精心收集,向本站投稿了5篇linux中rsync快速删除小文件方法linux操作系统,以下是小编为大家整理后的linux中rsync快速删除小文件方法linux操作系统,希望对大家有所帮助。
篇1:linux中rsync快速删除小文件方法linux操作系统
使用rsync同步一个空目录即可。对于万级文件的目录基本是秒删,回车就OK。
步骤如下:
1、建立一个空目录
mkdir -p /tmp/rsync_blank
2、确立需要清空的目标目录
/data/ooxx
3、使用rsync同步删除(注意目录后面的“/”),整体效率会快一个数量级的样子。
rsync –delete-before -a -H -v –progress –stats /tmp/rsync_blank/ /data/ooxx/
选项说明:
–delete-before 接收者在传输之前进行删除操作
–progress 在传输时显示传输过程
-a 归档模式,表示以递归方式传输文件,并保持所有文件属性
-H 保持硬连接的文件
-v 详细输出模式
-stats 给出某些文件的传输状态
一般我们不需要显示进度,使用以下命令即可
rsync –delete-before -a -H /tmp/rsync_blank/ /data/ooxx/
这样我们要删除的 cache目录就会被清空了,
tips:
当SRC和DEST文件性质不一致时将会报错
当SRC和DEST性质都为文件【f】时,意思是清空文件内容而不是删除文件
当SRC和DEST性质都为目录【d】时,意思是删除该目录下的所有文件,使其变为空目录
最重要的是,它的处理速度相当快,处理几个G的文件也就是秒级的事
最核心的内容是:rsync实际上用的就是替换原理
篇2:Linux中RM快速删除大量文件/文件夹方法linux操作系统
删除文件直接使用rm就可以删除文件了,删除目录了可以使用rm来删除,下面我们一起来看看Linux中RM快速删除大量文件/文件夹方法.
昨天遇到一个问题,在Linux中有一个文件夹里面含有大量的Cache文件(夹),数量级可能在百万级别,使用rm -rf ./* 删除时间慢到不可接受,Google了一下,查到了一种方法,试用了下确实比单纯使用rm快了一个数量级,
方法见下:
1)首先建立一个空白文件夹。
mkdir /tmp/www.111cn.net
2)之后使用以下语句即可快速的删除文件。
rsync --delete-before -d /tmp/www.111cn.net/ /the/folder/you/want/delete/
原文中说不要忘记文件夹后的“/”
3)一杯咖啡过后,就Ok了。
篇3:Linux站群rsync同步设置方法linux操作系统
现在有很多朋友做站群,一个服务器专门用来更新数据到不同目录,这样我们只要利用rsync同步到不同目录或不同服务器,这样只要一个地方更新其它地方同步数据就行了,下面我来介绍一个实例,
说到“同步”,不得不提的利器就是rsync,今天就来说说我从这个工具中看到的同步的艺术。
1. 配置同步源
安装rsync:yum -y install rsync xinetd
开启rsync:vim /etc/xinetd.d/rsync 把disable = yes 改为disable = no
配置:vim /etc/rsyncd.conf
#同步源标识,可随意更改
[site]
#程序路径
path = /home/backup
#允许同步的主机
hosts allow = 192.168.1.14
hosts deny = *
list = true
uid = root
gid = root
read nly = false
2.配置同步服务器
同样安装rsync,并可以设置过滤列表,然后执行:
rsync -avz --delete --exclude-from=/etc/rsync_exclude.lst /var/www/html/ server_ip ::site
这里的server_ip即为服务器IP或域名,site是同步源标识
另外再设置定时脚本,
这样同步服务器的站群便能及时从主服务器rsync同步。
篇4:linux中用rsync同步备份文件配置方法linux操作系统
rsync同步工具不分平台的,你在windows下也可以使用它,也可以使用rsync与windows系统进行同步或linux与win系统进行数据同步,配置也很简单,
linux rsync同步设置
rsync是一款数据镜像备份工具,可以保持两个服务器间数据同步,用得最多的场景就是备份数据了。
安装方法如下:
安装
在UBUNTU下安装RSYNC通过以下步骤可以实现:
代码如下复制代码$ sudo apt-get install rsync xinetd配置
1. 编辑/etc/default/rsync 启动rsync作为使用xinetd的守护进程
代码如下复制代码$ sudo vim /etc/default/rsyncRSYNC_ENABLE=inetd
2. 创建 /etc/xinetd.d/rsync 通过xinetd使rsync开始工作
代码如下复制代码$ sudo vim /etc/xinetd.d/rsync
service rsync
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
3. 创建 /etc/rsyncd.conf 配置rsync使其在.
代码如下复制代码$ sudo vim /etc/rsyncd.conf
max connections = 2
log file = /var/log/rsync.log
timeout = 300
[share]
comment = Public Share
path = /home/share
read nly = no
list = yes
uid = nobody
gid = nogroup
auth users = user
secrets file = /etc/rsyncd.secrets
4. 创建 /etc/rsyncd.secrets 配置用户名和密码.
代码如下复制代码$ sudo vim /etc/rsyncd.secrets
user:password
4.a
代码如下复制代码$ sudo chmod 600 /etc/rsyncd.secrets
5. 启动/重启 xinetd
代码如下复制代码$ sudo /etc/init.d/xinetd restart
测试
运行下面的命令检查,确认rsync配置成功,
代码如下复制代码$ sudo rsync user@192.168.0.1::share
Password:
drwxr-xr-x 4096 /12/13 09:41:59 .
drwxr-xr-x 4096 2006/11/23 18:00:03 folders
如果没成功,几点注意一下:
代码如下复制代码/etc/rsyncd.conf:
auth users = user
后面的user是被授权可以访问这个module的用户,需要与/etc/rsyncd.secrets里对应。
远程同步:
代码如下复制代码sudo rsync -arlHptgzqh --delete --delay-updates --progress fhp@serverip::share --password-file=/etc/rsync_password /media/Server/server1/home
/etc/rsync_password
只需要填密码就可以了
遗憾的是rsync同步工作并不能自动检测目录是否有文件更新或更改然后自动同步,而需要我们在系统的计划任务中进行同步操作。
篇5:Linux删除文件及大量文件删除方法linux操作系统
在linux中删除文件用rm命令,如果要删除批量文件我们需遍历目录才可以,下面我们一起来看看Linux删除文件及大量文件删除方法,希望文章对各位会有所帮助,
删除文件夹: rm -rf [FolderDir]
复制文件夹: cp -rf [SrcDir] [DstDir]
Linux删除文件,文件夹主要用的命令是 rm ,下面将对 linux rm 命令做一个简单的介绍。
语法:
rm [选项] DirName
该命令中的[选项]常用的有以下几种:www.111cn.net
-i 删除前逐一询问确认
-f 即使被删除的文件的属性是只读,也直接删除,无需逐一确认,默认是需要逐一确认的。
-r 将目录及以下所有的文件都逐一删除
示例:
rm -i *.php 删除所有后缀为 php 的文档;删除前逐一询问确认
rm -r phpernote 将 phpernote 目录及子目录中所有文件都删除,当文件为只读时,会有提示操作是否删除
rm -rf /www.111cn.net/access 将会删除 /www.111cn.net/access 目录以及其下所有文件、文件夹,删除时不会有任何删除确认
提示
注意:
(1)在linux没有回收站,所以在使用 rm 命令的时候,切记文件或目录被删除之后就无法再恢复了。
(2)如果提示没有权限运行该命令,可使用 sudo 提升用户的权限然后再执行命令
怎么删除大文件呢
Google出来的有测试数据,但是测试环境没写。
个人感觉和文件系统格式有很大关系。
今天抽空测试了一下:
测试机配置较低,是N年前买的台式机了。
Sata硬盘
Intel(R) Pentium(R) D CPU 3.20GHz
4G内存。
EXT4文件系统:
/dev/mapper/VolGroup-lv_home on /home type ext4 (rw,noatime)
Linux www 2.6.32-220.7.1.el6.i686 #1 SMP Tue Mar 6 21:21:22 GMT 2012 i686 i686 i386 GNU/Linux
CentOS release 6.2 (Final)
rsync version 3.0.6 protocol version 30
创建16/256/ 的目录结构,最深层目录中都存放250个文件,每个文件300字节。
Mkdir.php
代码如下复制代码/**
16 * 256 * 250
*/
for($i=0; $i<=0xF; $i++) {
for($j=0; $j<=0xF; $j++) {
for($m=0; $m<=0xF; $m++) {
$dirname = sprintf(“test/%x/%x%x”, $i, $j, $m);
//创建目录
mkdir($dirname, 0755, TRUE);
for($k=-0; $k<250; $k++) {
$filename = sprintf(“%s/%d.html”, $dirname, $k);
file_put_contents($filename, str_repeat(“111”, 100) );
}
}
}
}
Find 遍历一次需要35秒:
[modify@www test]$time find ./ -type f |wc -l
1024000
real 0m35.679s
user 0m1.559s
sys 0m9.946s
百度到的 rsync 删除方法 先创建一个空目录 empty 然后用rsync同步
[root@www modify]# time rsync --delete-before -d empty/ test/
real 1m13.964s
user 0m1.933s
sys 0m35.384s
google到的 rsync 删除方法
[modify@www ~]$time rsync -a --delete empty/ test/
real 1m8.685s
user 0m1.919s
sys 0m35.113s
find f delete:
[root@www modify]# time find test/ -type f -delete
real 1m11.396s
user 0m1.484s
sys 0m34.422s
find xargs 单进程肯定比 find delete要慢,因为多了管道,
就不测了。
find xargs 16进程,有点投机取巧的感觉,其实就是并发运行了16个rm –Rf来删除第一层子目录:
[root@www modify]# cd test/
[root@www test]# time find ./ -maxdepth 1 | xargs -n 1 -P 16 rm -Rf
rm: cannot remove directory: `.'
real 1m3.160s
user 0m1.022s
sys 0m41.364s
rm –rf
[root@www modify]# time rm test/ -Rf
real 1m20.334s
user 0m1.074s
sys 0m32.179s
结论:
看起来,各种删除方式的表现都很接近。
PS:后来发现,每次重复测试,数据都会有一定的浮动。 应该多测几次取平均值的。。。
PS2: 求xfs的测试数据。 Ext3就算了。网上的文章,可能指的都是ext3。
最后说几个折衷的方案:
mv 的速度是最快的,低于0.1秒,然后可以放到后台去慢慢删除(nice -n 20)。
Mkfs 在某种条件下,也是一个不错的选择。
【linux中rsync快速删除小文件方法linux操作系统】相关文章:
1.linux下使用rsync实现文件目录同步linux操作系统
2.Office 如何快速删除Word中的超链接word办公/数码
3.linux系统下rsync文件同步配置工作笔记linux操作系统
6.快速安全减肥方法
10.快速读懂散文的方法






文档为doc格式