首页 » VPS 知识 » 浏览内容

linux下快速删除大量文件


2013-10-19 21:31:17 1,205 0 发表评论 字体: 作者:C.K.

体验版 88 元,个人版 128 元,多用户版 288元个人版160元升级到多用户版。

像/usr/local/nginx/proxy_temp的nginx缓存等,那么rm -rf *可能就不好使了。
rsync提供了一些跟删除相关的参数
rsync –help | grep delete
   –del an alias for –delete-during
   –delete delete files that don’t exist on the sending side
   –delete-before receiver deletes before transfer (default)
   –delete-during receiver deletes during transfer, not before
   –delete-after receiver deletes after transfer, not before
   –delete-excluded also delete excluded files on the receiving side
   –ignore-errors delete even if there are I/O errors
   –max-delete=NUM don’t delete more than NUM files

其中–delete-before 接收者在传输之前进行删除操作
可以用来清空目录或文件,如下:
1、先建立一个空目录
mkdir /data/blank
2、用rsync删除目标目录
rsync –delete-before -d /data/blank/ /var/spool/clientmqueue/
这样目标目录很快就被清空了

又假如你有一些特别大的文件要删除,比如nohup.out这样的实时更新的文件,动辄都是几十个G上百G的,也可以用rsync来清空大文件,而且效率比较高

1、创建空文件
touch /data/blank.txt

2、用rsync清空文件
rsync -a –delete-before –progress –stats /root/blank.txt /root/nohup.out
building file list …
1 file to consider
blank.txt
       0 100% 0.00kB/s 0:00:00 (xfer#1, to-check=0/1)

Number of files: 1
Number of files transferred: 1
Total file size: 0 bytes
Total transferred file size: 0 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 27
File list generation time: 0.006 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 73
Total bytes received: 31

sent 73 bytes received 31 bytes 208.00 bytes/sec
total size is 0 speedup is 0.00

tips:
当SRC和DEST文件性质不一致时将会报错
当SRC和DEST性质都为文件【f】时,意思是清空文件内容而不是删除文件
当SRC和DEST性质都为目录【d】时,意思是删除该目录下的所有文件,使其变为空目录
最重要的是,它的处理速度相当快,处理几个G的文件也就是秒级的事
最核心的内容是:rsync实际上用的就是替换原理

    网站统计 Statistics

    • 创建时间: 2005年1月3日 距今5013 天
    • 日志总数: 2461
    • 评论总数: 630
    • 标签总数: 654
    • 链接总数: 273
    • 最后更新: 2018-8-31 17:57:04
    • 您是本站第 13945685 位访客

    广告区 Guǎng Gào