Linux下使用rsync最快速刪除海量文件的方法

遇到了要在Linux下刪除海量文件的情況,需要刪除數十萬個文件。這個是之前的程序寫的日誌,增長很快,而且沒什麼用。這個時候,我們常用的刪除命令rm -fr * 就不好用了,因爲要等待的時間太長。所以必須要採取一些非常手段。我們可以使用rsync來實現快速刪除大量文件。

1、先安裝rsync:
yum install rsync2、建立一個空的文件夾:
mkdir /tmp/test3、用rsync刪除目標目錄:
rsync --delete-before -a -H -v --progress --stats /tmp/test/ log/這樣我們要刪除的log目錄就會被清空了,刪除的速度會非常快。rsync實際上用的是替換原理,處理數十萬個文件也是秒刪。
選項說明:
–delete-before 接收者在傳輸之前進行刪除操作
–progress 在傳輸時顯示傳輸過程
-a 歸檔模式,表示以遞歸方式傳輸文件,並保持所有文件屬性
-H 保持硬連接的文件
-v 詳細輸出模式

–stats 給出某些文件的傳輸狀態

------------------------------------

當SRC和DEST文件性質不一致時將會報錯
當SRC和DEST性質都爲文件【f】時,意思是清空文件內容而不是刪除文件
當SRC和DEST性質都爲目錄【d】時,意思是刪除該目錄下的所有文件,使其變爲空目錄
最重要的是,它的處理速度相當快,處理幾個G的文件也就是秒級的事
最核心的內容是:rsync實際上用的就是替換原理


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章