Linux下快速刪除大量小文件引起的磁盤inode(目錄索引)過滿


1)首先建立一個空白文件夾。

mkdir /tmp/empty     然后安裝下rsync   yum install -y rsync

2)之后使用以下語句即可快速的刪除文件。

rsync --delete-before -d /tmp/empty/ /the/folder/you/want/delete/             

原文中說不要忘記文件夾后的“/”

 

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 

 

rsync --delete-before -a -H -v --progress --stats /tmp/test/ log/

這樣我們要刪除的log目錄就會被清空了,刪除的速度會非常快。rsync實際上用的是替換原理,處理數十萬個文件也是秒刪。

選項說明
–delete-before 接收者在傳輸之前進行刪除操作
–progress 在傳輸時顯示傳輸過程
-a 歸檔模式,表示以遞歸方式傳輸文件,並保持所有文件屬性
-H 保持硬連接的文件
-v 詳細輸出模式
–stats 給出某些文件的傳輸狀態


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM