db2数据库备份脚本(linux)

发布时间 2023-04-18 16:16:53作者: 啊内哈赛哟
#!/bin/bash

dbprofileDir=/home/db2inst1/sqllib/db2profile
backUpRootDir=/home/db2inst1/dbbackup/
dbName=svcdb
dbUser=db2inst1
dbPassword=db2inst1
sftpUser=dbbackup
sftpIp=10.47.105.3
#sftpDir=/home/dbbackup/backupDB
sftpDir=/appData/dbbackup/backupDB
toDay=`date +%Y%m%d`

echo "back up db date:"$toDay
backUpDir=$backUpRootDir$toDay
echo "back up db dir:"$backUpDir

if [ -f $dbprofileDir ]; then
        . $dbprofileDir
fi

if [ ! -d $backUpDir ];then
        mkdir -p $backUpDir
fi

cd $backUpDir

echo "begin bakcup log file"

logpath=`(db2 get db cfg for $dbName|grep ' Path to log files  '|awk '{print $6}')`
#echo "log file path:"$logpath
cp $logpath*.LOG .

echo "end backup log file"

echo "begin backup db"
db2 connect to $dbName user $dbUser using $dbPassword

db2 backup db $dbName online to $backUpDir include logs

logseq=`(db2 get db cfg for $dbName|grep ' First active log file  '|awk '{print $6}')`
#echo "active log file:"$logseq

sleep 10

cp $logpath$logseq .

echo "backup db complete,begin compress backup file"

cd $backUpRootDir

tar cfz $toDay.tar.gz $toDay

echo "compress complete,begin sftp"

scp $toDay.tar.gz $sftpUser@$sftpIp:$sftpDir


echo "sftp complete,rm file"

cd $backUpRootDir

rm -rf $toDay

rm -rf $toDay.tar.gz

echo "rm complete"