1.linux db2 自动备份,备份后压缩,拷贝到另一服务器 全备份: #!/bin/sh #------------------------------------- #db2自动备份脚本 #by lushuai # create at 2013-08-05 #------------------------------------ #参数 Basepath=/home/db2-backup-linux/ d

1.linux db2 自动备份,备份后压缩,拷贝到另一服务器

全备份:

#!/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/"$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$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 to $FilePath include logs"

echo "3.数据库备份结束:"$LINE"($FilePath)" >> $Backup_Log

done < $dblist

#文件打包

echo "4.压缩文件" >> $Backup_Log

cd $TargetPath"backup"

tar -zcvf $bkdate.tgz $bkdate >> $Backup_Log

#删除压缩前数据

echo "5.删除压缩前数据" >> $Backup_Log

echo

rm -rf ${bkdate}

#删除10天前备份数据

if [ -w "`date +%Y%m%d --date '20 days ago'`" ]; then {

echo "6.删除20天前备份数据" >> $Backup_Log

rm -rf "$TargetPath"backup/"`date +%y%m%d --date '20 days ago'`"

} else {

echo "6.没有20天前备份数据供删除" >> $Backup_Log

}

fi

echo "7.备份结束" >> $Backup_Log

#scp $bkdate.tgzroot@10.10.0.154:/home/212_db_backup

#echo "8.备份文件上传至10.10.0.154:/home/212_db_backup,多机备份" >> $Backup_Log

echo "============================================================================" >> $Backup_Log

exit

增量备份:

#!/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.tgzroot@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

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

linux自动备份db2数据库备份,db2 自动备份(linux 、windows)总结相关推荐

  1. db2数据库与表空间备份

    db2数据库与表空间备份 数据库与表空间的备份语法概述 备份语法 ​ database-alias:指定要备份的数据库的别名 ​ username/using password:指定备份数据库所使用的 ...

  2. mysql定期执行备份语句_【mysql】备份篇1:使用系统计划任务+mysqldump 定时备份mysql数据库 不用输入密码自动导出sql文件...

    项目部署在服务期上之后,有了新的需求,需要每月定时备份mysql数据库的所有数据! 查找了网上的多篇文章之后,自己又对bat文件中的mysqldump语句进行改进,可以实现了不用输入密码就能自动定时备 ...

  3. DB2数据库使用(安装在linux)

    1.打开命令行 su db2inst1 注:用户根据自己实际情况填写,我的是db2inst1 2.启动数据库,查看已有数据库名称 db2start db2 list db directory 3.连接 ...

  4. 基于c语言的db2数据库开发,DB2日志(2) 用C语言扩展实现DB2日志管理及主备同步

    还好DB2提供了相关的USEREXIT程序(又名用户出口程序)可以使我们管理日志文件并有了扩展功能的可能性.在这一点上DB2明显要比Oracle开放些. 实现 1.首先将USEREXIT接口打开,让数 ...

  5. DB2数据库安装(db2 9.7 ,centos7)

    DB2数据库安装(db2 9.7 ,centos7) 一.软件配置 二.Db2安装 1.解压 2.检查安装条件 3.安装 4.创建DB2运行所需要的用户组和用户 5.添加密码 6.进入/opt/ibm ...

  6. 备份mysql数据库攻略_mysql备份实例攻略

    本文系统Centos6.0 首先普及下备份术语:热备份:读.写不受影响: 温备份:仅可以执行读操作: 冷备份:离线备份:读.写操作均中止: 我们备份,一般备份以下几个部分: 1.数据文件 2.日志文件 ...

  7. mysql数据库物理备份_MySQL数据库之xtrabackup物理备份(一)

    (1)备份开始时会开启一个后台检测进程,实时检测mysql redo(已提交的事务)的变化,一旦发现redo中有新日志写入,立刻将日志记入后台日志文件xtrabackup_log中, (2)复制Inn ...

  8. DB2数据库中DB2字符串类型

    DB2字符串是DB2数据库中的基础知识,下面就为您分类介绍DB2字符串,供您参考,如果您对DB2字符串方面刚兴趣的话,不妨一看. DB2字符串是字节序列.DB2字符串包括 CHAR(n) 类型的定长字 ...

  9. linux用c创建数据库,使用c语言实现linux数据库的操作

    前言:上一篇讲解了linux下使用命令行操作数据库,这篇继续讲解怎么使用c语言实现linux数据库的操作. 使用c语言实现环境搭建:既然我们要使用c语言实现linux数据库操作,那么首先我们得先把数据 ...

  10. oracle9i用expdp导出全库,Linux下Oracle 11g数据库全库自动备份(EXPDP)

    使用EXPDP方式备份整个实例 本教程可使用system账户将整个实例备份(包含空表),并自动删除超过6天的历史数据. 1.r oot用户登录服务器 mkdir -p /backup/oracleda ...

最新文章

  1. JS 获取中英字符串字节长度
  2. Google Dremel 原理 - 如何能3秒分析1PB
  3. boost::mp11::mp_take相关用法的测试程序
  4. C#高效编程话题集1(每期10话题)
  5. SPI和RAM IP核
  6. STM32H743-梳理ADC模数转换器在CubeMX上的配置
  7. [古诗]有关日本留学生的那些古诗
  8. [bzoj] 2049 洞穴勘探 || LCT
  9. linux shell 变量命令,shell - 如何在Bash中将变量设置为命令的输出?
  10. 通过机器学习神经网络自动写前端代码
  11. SIFT算法学习总结
  12. Win10PE启动维护工具 | U盘WinPE下载
  13. C++独立游戏存档模块设计
  14. 注销Apple ID的正确打开方式
  15. 广东最美的历史古村落,再不去就没了
  16. css 字符间距,单词间距
  17. 通过算法理解,把字符串转换成整形数字
  18. 深入讲解破解Excel Vba工程密码
  19. T3备份提示原先格式化该文件时所用扇区大小为512
  20. 埃森哲杯第十六届上海大学程序设计联赛春季赛暨上海高校金马五校赛 A

热门文章

  1. 对用户信息的模糊查找java_java中对SQL模糊查询通配符%的处理
  2. MPB:北大口腔陈峰、陈智滨等-口腔常见微生物的培养方法
  3. Nature:拟南芥微生物组功能研究0概述
  4. pandas将列表list插入到dataframe的单元格中、pandas使用read_csv函数读取文件并设置保留数值的前置0( leading zeroes)
  5. pandas使用isin函数和all函数判断dataframe特定数列中是否包含指定列表中的全部内容
  6. R语言使用ggplot2包的快速可视化函数qplot绘制散点图(设置每个数据点的文本标签信息)实战
  7. pandas读取csv文件发生编码(encoding)错误:获取文件编码格式之后再读取文件
  8. R语言生存分析COX回归分析实战:两种治疗方法发生肾功能损害的情况
  9. R语言单因素方差分析与协方差分析
  10. Kaggle泰坦尼克号数据机器学习实战:从缺失值处理、数据探索性分析、组合特征生成到多模型构建