视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
db2自动备份(linux、windows)总结
2020-11-09 08:18:52 责编:小采
文档


增量备份:

#!/bin/sh
#-------------------------------------
#db2自动备份脚本
#by lushuai
# create at 2013-08-05
#------------------------------------
#参数
Basepath=/home/db2-backup-linux/
dblist=$Basepath"script/dblist.txt" #要备份的数据库文件列表
bkdate=`date +%Y%m%d` #备份时间
#bkrootpath=$Basepath"" #备份路径
TargetPath=$Basepath
FilePath=$TargetPath"backup/incremental"$bkdate
bkyear="`date +%Y`" #要备份的年度,默认是当前年度
ftphost=192.168.0.15 #ftp服务器ip
ftpuser=gever #ftp服务器的用户,必须有create read write权限
ftppwd=geverabc #ftp服务器的用户username的密码
dbUser=db2admin
dbPwd=db2admin
Backup_Log=$TargetPath"incremental"$bkdate.log #日志

echo "1.备份初始化,增量备份时间为 `date +'%Y-%m-%d %H:%M:%S'`" >> $Backup_Log

if [ -e "$Backup_Log" ];then {
echo "the log file is already exist!" >> $Backup_Log
} else {
touch $Backup_Log
echo "create log file Successful!" >> $Backup_Log
}
fi


#创建备份文件存储路径,并授权
if [ -w "${FilePath}" ];then {
echo "---The database dir is already exist!" >> $Backup_Log
} else {
mkdir -p "$FilePath"
chmod 777 -R "$FilePath"
echo "---The database dir create Successful!" >> $Backup_Log
}
fi

#读取数据库文件列表,备份数据库
while read LINE
do
echo "2.开始备份数据库:"$LINE >> $Backup_Log
su - db2admin -c "db2 backup db $LINE online incremental to $FilePath include logs"
echo "3.数据库备份结束:"$LINE"($FilePath)" >> $Backup_Log
done < $dblist

#文件打包
echo "4.压缩文件" >> $Backup_Log
cd $TargetPath"backup"
tar -zcvf "incremental"$bkdate.tgz "incremental"$bkdate >> $Backup_Log

#删除压缩前数据
echo "5.删除压缩前数据" >> $Backup_Log
echo
rm -rf "incremental"${bkdate}
#删除10天前备份数据

if [ -w "`date +%Y%m%d --date '20 days ago'`" ]; then {
echo "6.删除20天前备份数据" >> $Backup_Log
rm -rf "$TargetPath"backup/incremental"`date +%y%m%d --date '20 days ago'`"
} else {
echo "6.没有20天前备份数据供删除" >> $Backup_Log
}
fi
echo "7.备份结束" >> $Backup_Log

#scp "incremental"$bkdate.tgz root@10.10.0.154:/home/212_db_backup
#echo "8.备份文件上传至10.10.0.154:/home/212_db_backup,多机备份" >> $Backup_Log
echo "============================================================================" >> $Backup_Log
exit

2.linux db2导出表结构和数据

echo 数据备份开始
#加载环境变量
. /home/db2inst1/sqllib/db2profile
#BACKDIR是放置备份文件的目录
BACKDIR="/home/db2inst1/backup"
#DBNAME是数据库名称
DBNAME="ATMP"
#连接数据库
db2 connect to $DBNAME user db2inst1 using 000000
#新建临时目录存放导出的表结构文件
#mkdir $BACKDIR
#新建临时目录存放导出的表结构文件
mkdir $BACKDIR/$DBNAME
#给几个目录授可读、可写权限
chmod a+w $BACKDIR
chmod a+w $BACKDIR/$DBNAME
#切换到新建临时目录下
cd $BACKDIR/$DBNAME
#执行导出数据库表结构
db2look -d $DBNAME -td @ -i db2inst1 -w 000000 -e -o ATMP.sql
#新建临时目录存放导出的表数据文件
mkdir atmpdata
#给目录授可读、可写权限
chmod a+w atmpdata
#切换到新建临时目录下
cd atmpdata
#执行导出数据库表数据
db2move $DBNAME export -u db2inst1 -p 000000
#取系统日期
DATE=`date +%Y%m%d`
hh=`date +%H`
mm=`date +%M`
now=$DATE-$hh:$mm
#切换到备份目录下
cd $BACKDIR
echo $now
#开始打包和压缩备份文件
tar cvf - $DBNAME | gzip -qc > $DBNAME.$now.tar.gz
#删除临时目录
rm -rf $BACKDIR/$DBNAME
echo 完成数据备份

3.window 自动备份数据

参考:http://lushuai1987.iteye.com/admin/blogs/1920669

下载本文
显示全文
专题