LinuxEye - Linux系统教程

LinuxEye - Linux系统教程

当前位置: 主页 > 脚本编程 >

批量清理某目录下的文件或移除某目录下的文件

时间:2015-01-07 10:10来源:oschina 编辑:linuxeye 点击:
#!/bin/bash #批量清理某目录下的文件或移除某目录下的文件basedir=/data/db/renewal/snapshots #执行目录clear_before_days=95 #清理的时间,100代表100天前的数据 logdir=/data/log/clear #日志路径log=$logdir/cl
#!/bin/bash 
#批量清理某目录下的文件或移除某目录下的文件
basedir=/data/db/renewal/snapshots   #执行目录
clear_before_days=95            #清理的时间,100代表100天前的数据 
logdir=/data/log/clear           #日志路径
log=$logdir/clear.log            #日志文件
file_key="snapshot"             #清理文件包含关键字   
is_font=1                #终端是否打印日志: 1打印 0不打印
is_log=1                 #是否记录日志: 1记录 0不记录
 
 
datef(){
date "+%Y-%m-%d %H:%M:%S"
}
 
if [[ ! -d $basedir  ]];then
echo "[ $(datef) ] 需要清理的目录不存在: $basedir"
exit
fi
 
print_log(){
if [[ $is_log -eq 1  ]];then
echo "[ $(datef) ] $1" >> $log
fi
}
echo_log(){
if [[ $is_font -eq 1  ]];then
echo "[ $(datef) ] $1"
fi
}
[[ -d $logdir ]] || mkdir -p $logdir 
 
statics_total(){
file_num=$(find  $basedir     -type f  -name "$file_key*"  |wc -l)
echo_log "$basedir目录:目前含有关键字:$file_key的文件总共有:$file_num个 "
print_log  "$basedir目录:目前含有关键字:$file_key的文件总共有:$file_num个 "
}
 
static_files(){
file_num=$(find  $basedir   -mtime +$clear_before_days  -type f  -name "$file_key*"  |wc -l)
echo_log "$basedir目录:目前含有关键字:$file_key以及$clear_before_days天以前的文件有:$file_num个 "
print_log  "$basedir目录:目前含有关键字:$file_key以及$clear_before_days天以前的文件有:$file_num个 "
}
 
rm_files(){
find  $basedir   -mtime +$clear_before_days  -type f  -name "$file_key*" -exec rm {} \;
if [[ $? -eq 0  ]];then
echo_log "$basedir目录:目前含有关键字:$file_key以及$clear_before_days天以前的文件删除成功."
else 
echo_log "$basedir目录:目前含有关键字:$file_key以及$clear_before_days天以前的文件删除失败."
fi 
}
 
statics_total
static_files 
rm_files
statics_total

转载请保留固定链接: https://linuxeye.com/program/2059.html

------分隔线----------------------------
标签:批量清理
栏目列表
推荐内容