每天数据库备份,我想将备份集自动备份到按照日期创建的目录中,如下脚本是自动按照日期创建目录(这里是创建下个月的日期目录).
步骤1.vi create_dir.sh 输入如下内容
- #!/bin/sh
- create_dir()
- {
- if test -z "$2"
then
next_month=`date -d next-month +%Y%m` #get next month 参数2为空则创建下个月
else
next_month=$2 #根据输入参数2 创建
fi
- year=`echo ${next_month}|cut -c1-4`
- month=`echo ${next_month}|cut -c5-6`
- rman_path_root=$1 #/u01/rman_backup
- l_cal=`cal $month $year`
- l_days=`echo $l_cal|awk '{print $NF}'`
- l_zero=0
- leng=`expr length $month`
- if [ $leng -lt 2 ]
- then
- month=${l_zero}${month}
- else
- month=${month}
- fi
- year_path=${rman_path_root}/${year}
- month_path=${year_path}/${year}${month}
- if ! [ -d ${year_path} ]
- then
- mkdir -p ${year_path}
- fi
- if ! [ -d ${month_path} ]
- then
- mkdir -p ${month_path}
- fi
- for((i=1;i<=$l_days;i++));
- do
- leng=`expr length $i`
- if [ $leng -lt 2 ]
- then
- l_run_day_path=${month_path}/${year}${month}${l_zero}${i}
- else
- l_run_day_path=${month_path}/${year}${month}${i}
- fi
- ##create dir
- if ! [ -d ${l_run_day_path} ]
- then
- mkdir -p ${l_run_day_path}
- fi
- echo $l_run_day_path
- done
- }
- create_dir /u01/rman_backup
- create_dir /u01/rman_backup/level_0_bak
- create_dir /u01/rman_backup/level_1_bak
- create_dir /u01/rman_backup/level_2_bak
步骤2.赋予执行权限
步骤3.使用linux的crontab调度该脚本自动创建日期目录
crontab -e
加入如下内容
- 00 15 * * * /myscript/create_dir.sh >> /myscript/run_log.log #每天下午3点执行
阅读(4130) | 评论(0) | 转发(2) |