Linux 下db2 自动远程备份
来源:互联网 发布:网络命令大全 编辑:程序博客网 时间:2024/06/06 07:00
1.备份策略
周日:全备
周一:迭代增量备份
周二:迭代增量备份
周三:累积增量备份
周四:迭代增量备份
周五:迭代增量备份
周六:累积增量备份
2.自动上传ftp
备份文件扩展名为:tgz,上传到ftp时修改为:rar;
如果需要正确解压文件,需要修改文件扩展名为:tgz,再解压;
3.调度计划
0 0 * * 0 nohup sh /db2backup/script/backup7.sh &
0 0 * * 1,2,4,5 nohup sh /db2backup/script/backup1.sh &
0 0 * * 3,6 nohup sh /db2backup/script/backup3.sh &
4.备份文件恢复
因服务器操作系统为Linux,通过backup方式备份的文件无法在Windows上直接恢复;
如果需要在Windows恢复,需要使用db2move方式导出恢复;
5.备份脚本
backup7.sh
#!/bin/sh#-------------------------------------# db2 backup script for 7 by hury# create @2016-12-06# script name:backup7.sh# 1.chmod 744 backup7.sh# 2.crontab -e # for test only# */2 * * * * nohup sh /db2backup/script/backup7.sh &# for official# 0 0 * * 0 nohup sh /db2backup/script/backup7.sh &#------------------------------------#paramsBasepath=/db2backup/dblist=$Basepath"script/dblist.txt" bkdate=`date +%Y%m%d` TargetPath=$BasepathFilePath=$TargetPath"backup/"$bkdateftp_host=192.168.2.116ftp_port=28ftp_user=testftp_pwd=testcur_week=`date +%u`Backup_Log=$TargetPath$bkdate.log if [ -f ${HOME}/sqllib/db2profile ]; then . ${HOME}/sqllib/db2profilefiecho "@`date +'%Y-%m-%d %H:%M:%S'`" >> $Backup_Logecho "1.backup init." >> $Backup_Logif [ -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#create backup folderif [ -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#read db list and backup dbwhile read LINEdo echo "2.begin backup :"$LINE >> $Backup_Log db2 backup db $LINE online to $FilePath compress include logs if [ $? -gt 0 ]; then echo "db backup error." >> $Backup_Log exit 1 else echo "db backup success." >> $Backup_Log fi echo "3.end backup :"$LINE"($FilePath)" >> $Backup_Log echo "@`date +'%Y-%m-%d %H:%M:%S'`" >> $Backup_Logdone < $dblist#zip the fileecho "4.begin to zip file" >> $Backup_Logcd $TargetPath"backup"tar -zcvf $bkdate.tgz $bkdate >> $Backup_Logecho "end zip file." >> $Backup_Logecho "@`date +'%Y-%m-%d %H:%M:%S'`" >> $Backup_Log#delete old backup fileecho "5.delete old backup file" >> $Backup_Logechorm -rf ${bkdate}#delete backup file 7 day agoif [ -w "`date +%Y%m%d --date '7 days ago'`" ]; then { echo "6.delete backup file 7 day ago" >> $Backup_Log rm -rf "$TargetPath"backup/"`date +%Y%m%d --date '7 days ago'`"} else { echo "6.no file to be delete." >> $Backup_Log}fiecho "7.backup end." >> $Backup_Log#scp $bkdate.tgz root@192.168.0.1:/home/backup#echo "8.copy backup file to 192.168.0.1:/home/backup" >> $Backup_Log#send file to ftpecho "8.send backup file to ftp" >> $Backup_Logftp -n<<!open $ftp_host $ftp_portuser $ftp_user $ftp_pwdbinarylcd $TargetPath"backup"promptput $bkdate.tgz $cur_week.rarclosebye!echo "send to ftp ok." >> $Backup_Logecho "@`date +'%Y-%m-%d %H:%M:%S'`" >> $Backup_Logecho "============================================================================" >> $Backup_Logexit
backup1.sh
#!/bin/sh#-------------------------------------# db2 backup script for 1,2,4,5 by hury# create @2016-12-06# script name:backup1.sh# 1.chmod 744 backup1.sh# 2.crontab -e # for test only# */2 * * * * nohup sh /db2backup/script/backup1.sh &# for official# 0 0 * * 1,2,4,5 nohup sh /db2backup/script/backup1.sh &#------------------------------------#paramsBasepath=/db2backup/dblist=$Basepath"script/dblist.txt" bkdate=`date +%Y%m%d` TargetPath=$BasepathFilePath=$TargetPath"backup/incremental"$bkdateftp_host=192.168.2.116ftp_port=28ftp_user=testftp_pwd=testcur_week=`date +%u`Backup_Log=$TargetPath"incremental"$bkdate.log if [ -f ${HOME}/sqllib/db2profile ]; then . ${HOME}/sqllib/db2profilefiecho "@`date +'%Y-%m-%d %H:%M:%S'`" >> $Backup_Logecho "1.backup init." >> $Backup_Logif [ -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#create backup folderif [ -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#read db list and backup dbwhile read LINEdo echo "2.begin backup :"$LINE >> $Backup_Log db2 backup db $LINE online incremental delta to $FilePath compress include logs echo "3.end backup :"$LINE"($FilePath)" >> $Backup_Log echo "@`date +'%Y-%m-%d %H:%M:%S'`" >> $Backup_Logdone < $dblist#zip the fileecho "4.begin to zip file" >> $Backup_Logcd $TargetPath"backup"tar -zcvf "incremental"$bkdate.tgz "incremental"$bkdate >> $Backup_Logecho "end zip file." >> $Backup_Logecho "@`date +'%Y-%m-%d %H:%M:%S'`" >> $Backup_Log#delete old backup fileecho "5.delete old backup file" >> $Backup_Logechorm -rf "incremental"${bkdate}#delete backup file 7 day agoif [ -w "`date +%Y%m%d --date '7 days ago'`" ]; then { echo "6.delete backup file 7 day ago" >> $Backup_Log rm -rf "$TargetPath"backup/incremental"`date +%Y%m%d --date '7 days ago'`"} else { echo "6.no file to be delete." >> $Backup_Log}fiecho "7.backup end." >> $Backup_Log#scp $bkdate.tgz root@192.168.0.1:/home/backup#echo "8.copy backup file to 192.168.0.1:/home/backup" >> $Backup_Log#send file to ftpecho "8.send backup file to ftp" >> $Backup_Logftp -n<<!open $ftp_host $ftp_portuser $ftp_user $ftp_pwdbinarylcd $TargetPath"backup"promptput "incremental"$bkdate.tgz $cur_week.rarclosebye!echo "send to ftp ok." >> $Backup_Logecho "@`date +'%Y-%m-%d %H:%M:%S'`" >> $Backup_Logecho "============================================================================" >> $Backup_Logexit
backup3.sh
#!/bin/sh#-------------------------------------# db2 backup script for 3,6 by hury# create @2016-12-06# script name:backup1.sh# 1.chmod 744 backup1.sh# 2.crontab -e # for test only# */2 * * * * nohup sh /db2backup/script/backup3.sh &# for official# 0 0 * * 3,6 nohup sh /db2backup/script/backup3.sh &#------------------------------------#paramsBasepath=/db2backup/dblist=$Basepath"script/dblist.txt" bkdate=`date +%Y%m%d` TargetPath=$BasepathFilePath=$TargetPath"backup/incremental"$bkdateftp_host=192.168.2.116ftp_port=28ftp_user=testftp_pwd=testcur_week=`date +%u`Backup_Log=$TargetPath"incremental"$bkdate.log if [ -f ${HOME}/sqllib/db2profile ]; then . ${HOME}/sqllib/db2profilefiecho "@`date +'%Y-%m-%d %H:%M:%S'`" >> $Backup_Logecho "1.backup init." >> $Backup_Logif [ -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#create backup folderif [ -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#read db list and backup dbwhile read LINEdo echo "2.begin backup :"$LINE >> $Backup_Log db2 backup db $LINE online incremental to $FilePath compress include logs if [ $? -gt 0 ]; then echo "db backup error." >> $Backup_Log exit 1 else echo "db backup success." >> $Backup_Log fi echo "3.end backup :"$LINE"($FilePath)" >> $Backup_Log echo "@`date +'%Y-%m-%d %H:%M:%S'`" >> $Backup_Logdone < $dblist#zip the fileecho "4.begin to zip file" >> $Backup_Logcd $TargetPath"backup"tar -zcvf "incremental"$bkdate.tgz "incremental"$bkdate >> $Backup_Logecho "end zip file." >> $Backup_Logecho "@`date +'%Y-%m-%d %H:%M:%S'`" >> $Backup_Log#delete old backup fileecho "5.delete old backup file" >> $Backup_Logechorm -rf "incremental"${bkdate}#delete backup file 7 day agoif [ -w "`date +%Y%m%d --date '7 days ago'`" ]; then { echo "6.delete backup file 7 day ago" >> $Backup_Log rm -rf "$TargetPath"backup/incremental"`date +%Y%m%d --date '7 days ago'`"} else { echo "6.no file to be delete." >> $Backup_Log}fiecho "7.backup end." >> $Backup_Log#scp $bkdate.tgz root@192.168.0.1:/home/backup#echo "8.copy backup file to 192.168.0.1:/home/backup" >> $Backup_Log#send file to ftpecho "8.send backup file to ftp" >> $Backup_Logftp -n<<!open $ftp_host $ftp_portuser $ftp_user $ftp_pwdbinarylcd $TargetPath"backup"promptput "incremental"$bkdate.tgz $cur_week.rarclosebye!echo "send to ftp ok." >> $Backup_Logecho "@`date +'%Y-%m-%d %H:%M:%S'`" >> $Backup_Logecho "============================================================================" >> $Backup_Logexit
0 0
- Linux 下db2 自动远程备份
- linux下mysql/sybase自动远程备份
- linux下mysql自动远程备份
- Linux 下通过脚本实现远程自动备份
- Linux 下通过脚本实现远程自动备份
- Linux下mysql数据库的自动备份与还原 远程备份和本地备份
- Linux下mysql数据库的自动备份与还原 远程备份和本地备份
- db2 自动备份(linux 、windows)总结
- Linux下DB2数据库备份脚本
- db2自动备份脚本
- Linux下db2配置远程连接
- Linux通过脚本实现远程自动备份
- Linux通过脚本实现远程自动备份
- Linux Bash实现自动MySQL远程备份
- Linux通过脚本实现远程自动备份
- Linux通过脚本实现远程自动备份
- LINUX 下rman 自动备份
- linux下自动备份数据库
- ERP实施顾问是干什么的?
- Dojo1.11官方教程文档翻译(4.10)用hitch和partial生成函数
- Spring InitializingBean接口的作用
- skyline中改变文件夹显示隐藏
- 手动编译ubuntu内核并升级内核
- Linux 下db2 自动远程备份
- Raft算法国际论文全翻译
- spring线程池ThreadPoolExecutor配置并且得到任务执行的结果
- Android4.4屏幕不休眠&不锁屏
- Compilation with Make in Caffe.ImportError: No module named _caffe
- ViewPager+GridView实现美团商品分类
- 【计算机视觉】Object Proposal之BING++
- Java反射机制
- JAVA-JNI中jfieldID