使用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 给出某些文件的传输状态