TA的每日心情 | 无聊 6 天前 |
---|
签到天数: 1644 天 [LV.Master]伴坛终老
|
db2离线全备对应的数据库脚本,这个是自己实际生产环境下使用过的,亲测,没问题- #!/bin/sh
- #-----------------------------------
- #db2自动备份脚本
- #-----------------------------------
- #参数设置
- bkpath=/bakdatadb2/
- dblist=$bkpath"dblist/dblist.txt"
- bkyear=`date +%Y`
- bkmonth=`date +%m`
- bkday=`date +%Y-%m-%d`
- bkfilepath=$bkpath"bakfulldata/"$bkyear"/$bkmonth"
- dbuser=db2inst2
- dbpwd=db2
- bklog=$bkpath"baklog/"backup.log
- #echo $dblist
- #echo $bkyear
- #echo $bkmonth
- #echo $bkday
- #echo $bkfilepath
- #echo $bklog
- #判断备份日志文件是否存在,并且把信息存入日志文件当中
- if [ -f "$bklog" ];then
- echo "the log file is already exist!" >> $bklog
- else
- touch $bklog
- chown -R db2inst2:db2iadm1 $bklog
- echo "create log file successful!" >> $bklog
- fi
- #备份初始化信息被记录在日志文件中
- echo "离线全备时间:`date +'%Y-%m-%d %H:%M:%S'`" >> $bklog
- echo "1.备份初始化............................................." >> $bklog
- #判断备份代表db2数据路径是否存在并且是否可写,并把信息存入日志文件当中
- if [ -w "${bkfilepath}" ];then
- echo "the database dir is already exist!" >> $bklog
- else
- mkdir -p "$bkfilepath"
- chmod 770 -R "$bkfilepath"
- chown -R db2inst2:db2iadm1 "$bkfilepath"
- echo "the database dir create successful!" >> $bklog
- fi
- #读取数据库文件列表,在线备份数据库,并把备份信息存入日志文件当中
- while read LINE
- do
- echo "2.开始离线全备数据库:"$LINE >> $bklog
- su - db2inst2 -c "db2 backup db $LINE to $bkfilepath"
- echo "3.数据库备份结束:"$LINE"($bkfilepath)" >> $bklog
- done < $dblist
- #每一天备份的日志信息都要换行,以便更好的查看日志信息
- echo -e "------------------------------------------------------------------------------\n\n" >> $bklog
复制代码 说明:里面的dbuser和dbpwd,改成自己的用户和密码。
执行过程自己就不执行截图了。
|
|