#!/bin/bash # Date: 20140328 # Developer: sndapk # function: delete files in folders. # exec: bash $0 PATH=/bin:/sbin:/usr/bin:/usr/sbin IFS=' ' export PATH IFS log_t="$(date +%F)" log="/data/logs/cronlog/delete-file/delete-file.$log_t.log" #定义删除7天前文件的目录 d_7f="/data/backup/a /data/backup/aa /data/backup/aaa /data/backup/a a" #定义删除30天前文件的目录。 #d_30="/data/backup/b #/data/backup/bb" #创建日志目录 if [ ! -d "$(dirname "$log")" ];then mkdir -p $(dirname "$log") fi #定义一个函数,删除指定目录下一级目录n天前文件。 del_f(){ dir="$1" days="$2" if [ -d "$dir" ];then f_list="$(find "$dir" -maxdepth 1 -type f -mtime +"$days")" while read d_7f_f do if [ -z "$f_list" ];then echo "$(date +'%F %T'):WARN: delete file $days(DIR \"$dir\" no file to delete).">>"$log" break fi rm "$d_7f_f" 2>>"$log" if [ $? -ne 0 ];then echo "$(date +'%F %T'):ERROR: delete file $days(\"$d_7f_f\" error).">>"$log" else echo "$(date +'%F %T'):INFO: delete file $days(\"$d_7f_f\" success).">>"$log" fi done< <(echo "$f_list") else echo "$(date +'%F %T'):ERROR: delete file $days(DIR \"$dir\" not exist)." >>"$log" fi } #执行:删除7天前的日志文件 del_f "$(dirname "$log")" 7 #执行:删除7天前文件。 while read d_7f_tmp do del_f "$d_7f_tmp" 7 done< <(echo "$d_7f") #执行:删除30天前文件。 #while read d_30_tmp #do # echo $d_30_tmp # del_f "$d_30_tmp" 30 #done< <(echo "$d_30")
shell脚本:删除旧文件脚本
原创文章标签 shell脚本:删除旧文件脚本 文章分类 运维
©著作权归作者所有:来自51CTO博客作者0x7F的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:shell脚本:测试下载速度
下一篇:svn+rsync实时发布程序
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
shell脚本实现文本内容比较交互程序
shell脚本实现文本内容比较交互程序
bash 封装 初始化 comm