使用rsync批量删除文件

平常在我们系统中,有一些审计的文件夹里面文件多达几十万个,用rm -rf * 根本无济于事,如下所示:

[root@zbdba test]# ls -l |wc -l
500001
[root@zbdba test]# time rm -rf *
-bash: /bin/rm: Argument list too long

real    0m6.118s
user    0m3.905s
sys     0m0.384s

[root@zbdba test]# ls -l |wc -l
500001


可见rm在这里没法删除了,这时候巧妙的利用一个工具-rsync 该工具主要用户同步、备份等。下面我们使用rsync来删除文件:
首先在test同级目录下新建一个空文件夹:

[root@zbdba data]# mkdir blank

然后:

[root@zbdba data]# time rsync -a --delete blank/ test/

real    0m40.425s
user    0m1.091s
sys     0m10.949s

[root@zbdba data]# cd test
[root@zbdba test]# ls -l |wc -l
1
[root@zbdba test]# ls
[root@zbdba test]# ls -al

可见50万个文件,用了40秒进行删除。效率还是不错的。

你可能感兴趣的:(Os,Skills,rsnyc,批量文件删除)