rsync快速删除大量小文件
2017-03-29 14:44
369 查看
由于业务需要,每天会上传上千万个压缩的日志包,在一次做临时处理的时候,需要将这些数据包从云存储上面下载下来,做处理,BUT,做完处理之后忘记将这些包删掉了,so,临时积累了好多包,磁盘的inode都满了,,后来想办法要删掉这些文件,rm -f 根本不管用,后来网上搜索了一下,用rsync命令进行删除操作,后来尝试了一下:
新建了一个空的文件夹:
然后:
将app文件夹和portal文件夹下的文件清空,后来试了一下确实好使,不过速度也确实需要等待一会。将文件清空了之后,发现文件夹的大小并没有改变(这个是记录磁盘文件夹文件的inode的文件么?),后来直接将文件夹删掉:
这样算是彻底清空了。下面整理了一下关于rsync命令快速删除大量文件的说明:
1.----------------------------------------------------------
选项说明:
注意:
empty是我们提前建立的文件夹,后面的/app是我们要删除的文件的所在目录。
当SRC和DEST文件性质不一致时将会报错
当SRC和DEST性质都为文件【f】时,意思是清空文件内容而不是删除文件
当SRC和DEST性质都为目录【d】时,意思是删除该目录下的所有文件,使其变为空目录
可能遇到的问题:
rsync
'cannot delete non-empty directory' errors, even with --force option
参考:
http://serverfault.com/questions/573392/rsync-cannot-delete-non-empty-directory-errors-even-with-force-option http://blog.csdn.net/knowledgeaaa/article/details/41038967
2-------------------------------------------
或者
三、也可以用来删除大文件
假如我们在app/下有一个几十G甚至上百G的文件data.log,现在我们要删除它
1)、创建一个空文件
touch empty
2)、用rsync清空/root/data文件
rsync --delete-before -d --progess --stats empty/ app/data.log
注意:
当SRC和DEST文件性质不一致时将会报错
当SRC和DEST性质都为文件【f】时,意思是清空文件内容而不是删除文件
当SRC和DEST性质都为目录【d】时,意思是删除该目录下的所有文件,使其变为空目录
参考:http://www.xitongzhijia.net/xtjc/20150410/44874.html
新建了一个空的文件夹:
mkdir empty
然后:
rsync --delete-before -d empty/ app/ rsync --delete-before -d empty/ portal/
将app文件夹和portal文件夹下的文件清空,后来试了一下确实好使,不过速度也确实需要等待一会。将文件清空了之后,发现文件夹的大小并没有改变(这个是记录磁盘文件夹文件的inode的文件么?),后来直接将文件夹删掉:
rm -rf app/ rm -rf portal/
这样算是彻底清空了。下面整理了一下关于rsync命令快速删除大量文件的说明:
1.----------------------------------------------------------
rsync --delete-before --force -r empty/ app/
选项说明:
--delete-before 接收者在传输之前进行删除操作 -r recurse into directories
注意:
empty是我们提前建立的文件夹,后面的/app是我们要删除的文件的所在目录。
当SRC和DEST文件性质不一致时将会报错
当SRC和DEST性质都为文件【f】时,意思是清空文件内容而不是删除文件
当SRC和DEST性质都为目录【d】时,意思是删除该目录下的所有文件,使其变为空目录
可能遇到的问题:
rsync
'cannot delete non-empty directory' errors, even with --force option
cannot delete non-empty directory错误在同步source side的时候,你希望执行
rsync --delete. Rsync 不会让你删除不包含在同步目录内的文件。添加
--delete-excluded选项即可解决。
参考:
http://serverfault.com/questions/573392/rsync-cannot-delete-non-empty-directory-errors-even-with-force-option http://blog.csdn.net/knowledgeaaa/article/details/41038967
2-------------------------------------------
rsync --delete-before -d -a -H -v --progress --stats empty/ app/
或者
rsync --delete-before -d /data/blank/ /var/edatacache/ 这样/var/edatacache目录就被快速的清空了。 选项说明: –delete-before 接收者在传输之前进行删除操作 –progress 在传输时显示传输过程 -a 归档模式,表示以递归方式传输文件,并保持所有文件属性 -H 保持硬连接的文件 -v 详细输出模式 –stats 给出某些文件的传输状态 -d transfer directories without recursing
三、也可以用来删除大文件
假如我们在app/下有一个几十G甚至上百G的文件data.log,现在我们要删除它
1)、创建一个空文件
touch empty
2)、用rsync清空/root/data文件
rsync --delete-before -d --progess --stats empty/ app/data.log
注意:
当SRC和DEST文件性质不一致时将会报错
当SRC和DEST性质都为文件【f】时,意思是清空文件内容而不是删除文件
当SRC和DEST性质都为目录【d】时,意思是删除该目录下的所有文件,使其变为空目录
参考:http://www.xitongzhijia.net/xtjc/20150410/44874.html
相关文章推荐
- linux无需rm就可快速删除大量文件--- rsync --delete-before -a -H -v --progress --stats
- rsync快速 删除大量文件
- Linux下使用rsync最快速删除大量文件的方法
- linux 用 rsync 快速删除大量小文件
- [ZZ] 使用rsync来实现快速删除大量文件
- 使用rsync来快速删除大量文件
- Linux下使用rsync最快速删除海量文件的方法
- linux下面快速删除大量文件
- Linux下使用rsync最快速删除海量文件
- linux下快速删除大量文件
- linux下用rsync快速删除海量文件
- 如何快速删除大量文件和文件夹如何快速删除大量文件和文件夹
- linux下面快速删除大量文件
- Linux下快速删除大量文件
- linux下面快速删除大量文件
- linux下面快速删除大量文件及快速复制大量小文件
- Linux系统下快速删除某个目录下大量文件
- Linux 快速删除大量小文件方法
- linux下面快速删除大量文件及快速复制大量小文件
- Linux下使用rsync最快速删除海量文件的方法