香港云主机Linux下快速删除大量文件/文件夹方法
美国、香港服务器
香港云主机Linux下快速删除大量文件/文件夹方法
06-07 来源:
一、场景描述
假如你要在香港云主机linux下删除大量文件,比如100万、1000万,像/var/spool/clientmqueue/的mail邮件,像/usr/local/nginx/proxy_temp的nginx缓存等,那么rm -rf *可能就不好使了。
二、解决方案
rsync提供了一些跟删除相关的参数
rsync--help | grep delete
--del an alias for --delete-during
--delete delete extraneous files from destinationdirs
--delete-before receiver deletes before transfer, notduring
--delete-during receiver deletes during the transfer
--delete-delay find deletions during, delete after
--delete-after receiver deletes after transfer, notduring
--delete-excluded also delete excluded files from destinationdirs
--delete-missing-args delete missing source args fromdestination
--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
buildingfile list …
1 file toconsider
blank.txt
0 100%0.00kB/s 0:00:00 (xfer#1, to-check=0/1)
Number offiles: 1
Number offiles transferred: 1
Total filesize: 0 bytes
Totaltransferred file size: 0 bytes
Literaldata: 0 bytes
Matcheddata: 0 bytes
File listsize: 27
File listgeneration time: 0.006 seconds
File listtransfer time: 0.000 seconds
Totalbytes sent: 73
Totalbytes received: 31
sent 73bytes received 31 bytes 208.00 bytes/sec
total sizeis 0 speedup is 0.00
tips:
当SRC和DEST文件性质不一致时将会报错
当SRC和DEST性质都为文件【f】时,意思是清空文件内容而不是删除文件
当SRC和DEST性质都为目录【d】时,意思是删除该目录下的所有文件,使其变为空目录
最重要的是,它的处理速度相当快,处理几个G的文件也就是秒级的事
最核心的内容是:rsync实际上用的就是替换原理。
三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快