使用rsync刪除大目錄


#該腳本慎用,主要用於刪除含大量數據的目錄,使用該腳本前需要安裝rsync(yum -y install rsync即可)

vim clear_file.sh

#!/bin/bash
#此腳本用於刪除目錄文件,請慎用,執行方法: sh  {script} $1
#設置相關變量
null_dir=/opt/delete/    
trash=/tmp
#建立一個空文件夾
if [ ! -d $null_dir ]; then mkdir -p /opt/delete/ fi #執行刪除命令 echo "開始清空目錄文件" rsync --delete-before -a -H -v --progress --stats $null_dir $1 file_dir=$1 #刪除空目錄 if [ "`ls -A ${file_dir}`" = "" ]; then echo "探測${file_dir}目錄為空,准備放入回收站" sudo mv ${file_dir} ${trash} if [ ! -d ${file_dir} ]; then echo "空目錄${file_dir}已移動到${trash}回收站中" fi fi

使用方法: sh  vim clear_file.sh {需要刪除的目錄}

舉例:

./clear_file.sh /opt/test-4/

參數說明:

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

 


免責聲明!

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



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