db2离线全备对应的数据库脚本 - 个人原创
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,改成自己的用户和密码。
执行过程自己就不执行截图了。
都是代码,看着心痛 db2还没用到过,先学习了 不懂哈,代码麻麻的;P
页:
[1]