Linux 删除大量小文件的两种方案_第1页
Linux 删除大量小文件的两种方案_第2页
Linux 删除大量小文件的两种方案_第3页
Linux 删除大量小文件的两种方案_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

环境:RHEL6.5+Oracle11.2.0.4需求:使用df-i巡检发现Inodes使用率过高,需要清理删除文件来解决。如果Inodes满,该目录将不能写,即使df-h查看还有剩余空间。1.问题现象Oracle的adump下记录的是sys的登陆审计信息,特点是小碎文件非常多,经常会遇到使用rm-rf*命令删除不了,报错-bash:/bin/rm:Argumentlisttoolong。这是因为通配符*在执行时会替换为具体的文件名,例如rm-rffile1file2file3...,如果文件数量过多,就容易出现这个错误。比如在下面的环境中,adump目录下文件已达到114万+,执行rm-rf*命令时就会报这个错误:[oracle@jystdrac2adump]$pwd/opt/app/oracle/admin/crmdb/adump[oracle@jystdrac2adump]$ls|wc-l1149787[oracle@jystdrac2adump]$rm-rf*-bash:/bin/rm:Argumentlisttoolong[oracle@jystdrac2adump]$du-sh4.4G2.解决方案清楚了问题现象,解决方案就从除去rm-rf*命令的方式之外,还有哪些方法可用,如果通过网络搜索,可能会找到结合find命令再去执行rm的方式,但其实效率非常差,具体写法这里就不列出了,因为我们通常也不会这样处理。那么如何较为效率的删除大批小文件呢?结合网络的经验,并实测验证,最终总结了两种常见的解决方案,效率上也都尚可。方案一:巧用rsync的方式达到删除目的建立一个空文件夹,使用rsync--delete-before-d<空文件夹><需要清理删除小文件的目录>命令最终达到删除大批小文件的目的。下面演示具体操作:[oracle@jystdrac2adump]$mkdir/data/null[oracle@jystdrac2adump]$ls-l/data/nulltotal0[oracle@jystdrac2~]$nohuprsync--delete-before-d/data/null//opt/app/oracle/admin/crmdb/adump/&使用manrsync查看rsync命令相关的参数说明如下:-d,--dirstransferdirectorieswithoutrecursing--delete-beforereceiverdeletesbeforetransfer(default)方案二:使用find命令的delete参数使用find<需要清理删除小文件的目录>-typef-delete命令直接删除大批小文件。使用manfind查看find命令相关的参数说明如下:-typecFileisoftypec:bblock(buffered)specialccharacter(unbuffered)specialddirectorypnamedpipe(FIFO)fregularfilelsymboliclink;thisisnevertrueifthe-Loptionorthe-followoptionisineffect,unlessthesymboliclinkisbroken.Ifyouwanttosearchforsymboliclinkswhen-Lisineffect,use-xtype.ssocketDdoor(Solaris)-deleteDeletefiles;trueifremovalsucceeded.Iftheremovalfailed,anerrormessageisissued.If-deletefails,find’sexitstatuswillbenonzero(wheniteventuallyexits).Useof-deleteautomaticallyturnsonthe‘-depth’option.Warnings:Don’tforgetthatthefindcommandlineisevaluatedasanexpression,soputting-deletefirstwillmakefindtrytodeleteeverythingbelowthestartingpointsyouspecified.Whentestingafindcommandlinethatyoulaterintendtousewith-delete,youshouldexplicitlyspec-ify-depthinordertoavoidlatersurprises.Because-deleteimplies-depth,youcannotusefullyuse-pruneand-deletetogether.下面演示具体操作:[oracle@jystdrac1adump]$nohupfind/opt/app/oracle/admin/crmdb/adump/-typef-delete&可以参考下面的命令来简单监控删除过程中Inodes使用率的变化:whiletrue;dodf-i/;sleep10;done比如我这里节点jystdrac1使用的find方法,节点jystdrac2使用的rsync方法,实际观察Inodes释放速度区别并不大:#使用的find方法,观察Inodes释放速度:[oracle@jystdrac1~]$whiletrue;dodf-i/;sleep10;doneFilesystemInodesIUsedIFreeIUse%Mountedon/dev/mapper/vg_linuxbase-lv_root1806896151912428777285%/FilesystemInodesIUsedIFreeIUse%Mountedon/dev/mapper/vg_linuxbase-lv_root1806896151901528788185%/FilesystemInodesIUsedIFreeIUse%Mountedon/dev/mapper/vg_linuxbase-lv_root1806896151388029301684%/FilesystemInodesIUsedIFreeIUse%Mountedon/dev/mapper/vg_linuxbase-lv_root1806896151113229576484%/FilesystemInodesIUsedIFreeIUse%Mountedon/dev/mapper/vg_linuxbase-lv_root1806896150243430446284%/FilesystemInodesIUsedIFreeIUse%Mountedon/dev/mapper/vg_linuxbase-lv_root1806896149458331231383%/FilesystemInodesIUsedIFreeIUse%Mountedon/dev/mapper/vg_linuxbase-lv_root1806896148911131778583%/FilesystemInodesIUsedIFreeIUse%Mountedon/dev/mapper/vg_linuxbase-lv_root1806896148762931926783%/

#使用的rsync方法,观察Inodes释放速度:[oracle@jystdrac2~]$whiletrue;dodf-i/;sleep10;doneFilesystemInodesIUsedIFreeIUse%Mountedon/dev/mapper/vg_linuxbase-lv_root180689696302984386754%/FilesystemInodesIUsedIFreeIUse%Mountedon/dev/mapper/vg_linuxbase-lv_root180689695503785185953%/FilesystemInodesIUsedIFreeIUse%Mountedon/dev/mapper/vg_linuxbase-lv_root180689695308885380853%/FilesystemInodesIUsedIFreeIUse%Mountedon/dev/mapper/vg_linuxbase-lv_root180689695052385637353%/FilesystemInodesIUsedIFreeIUse%Mountedon/dev/mapper/vg_linuxbase-lv_root180689694875485814253%/FilesystemInodesIUsedIFreeIUse%Mountedon/dev/mapper/vg_linuxbase-lv_root180689694461386228353%/FilesystemInodesIUsedIFreeIUse%Mountedon/dev/mapper/vg_linuxbase-lv_root180689694261986427753%/FilesystemInodesIUsedIFreeIUse%Mountedon/dev/mapper/vg_linux

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论