使用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 给出某些文件的传输状态
原文地址:https://www.cnblogs.com/python-cat/p/12579694.html