免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2591 | 回复: 2
打印 上一主题 下一主题

DB备份小脚本 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-02-08 17:48 |只看该作者 |倒序浏览
刚刚写了DB备份小脚本,备份当前实例下的DB、配置信息及建库表脚本,还没测,看着有点通用性,发上来大家斧正,脚本很简单,新手可以看一下,权且当几个DB2命令的练习吧!

  1. ##############################################################################
  2. #                                                                            #
  3. #   File name :  backupAllDb.sh  ( DB backup tool )                          #
  4. #                                                                            #
  5. #   SHELL     :  /bin/ksh                                                    #
  6. #                                                                            #
  7. #   Function  :  1. Save any information for instance and all databases;     #
  8. #                                                                            #
  9. #                2. Backup all databases.                                    #
  10. #                                                                            #
  11. #   Date      :  2007-02-08                                                  #
  12. #                                                                            #
  13. #   Written by:  WeiGQ.                                                      #
  14. #                                                                            #
  15. #   Copyright :  The Copyright is owned by TaiAn RCC .                       #
  16. #                                                                            #
  17. ##############################################################################

  18. DirNam=$(date +"%Y%m%d")

  19. BackupCn()
  20. {
  21. db2 list tablespaces show detail |grep "Tablespace ID"|awk -F"=" '{print $2}'|while read line
  22. do
  23. db2 list tablespace containers for $line show detail
  24. echo "#############################################################################"
  25. done
  26. }

  27. [ $(db2  list applications|wc -l) -gt 1 ] && echo "\n\t\t请退出应用后再执行备份! \n" && exit

  28. cd $HOME/db
  29. [ -d $DirNam ] && echo "\n\t\t当天已做备份!\n" && exit
  30. mkdir $DirNam
  31. chmod -R 775 $DirNam
  32. cd $DirNam

  33. db2 get dbm cfg                         >dbm.cfg
  34. db2set                                         >db2set.cfg
  35. db2cfexp db2.cfexp backup               

  36. for DbName in $(db2 list db directory|grep "Database name"|awk -F"=" '{print $2}')
  37. do
  38.         db2 connect to $DbName                    >/dev/null
  39.         db2 get db cfg for $DbName                >$DbName.cfg
  40.         db2 list tablespaces  show detail         >$DbName.space
  41.         BackupCn                                  >$DbName.cont
  42.         db2look -d $DbName -l -o  cr$DbName.sql >/dev/null 2>&1
  43.         db2look -d $DbName -e -x -a -o  cr$DbName.tbl.sql >/dev/null 2>&1
  44.         db2 connect reset >/dev/null
  45.         db2 bacup db $DbName compress
  46. done
复制代码

论坛徽章:
0
2 [报告]
发表于 2007-02-09 08:40 |只看该作者
如果在加上检测指令是否成功的检测和生成一个备份报告,我觉得会更不错,因为如果有几十个数据库的话,有个report会比较省力一些。个人观点,仅供参考。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
3 [报告]
发表于 2007-02-09 10:30 |只看该作者
原帖由 huyuhui001 于 2007-2-9 08:40 发表
如果在加上检测指令是否成功的检测和生成一个备份报告,我觉得会更不错,因为如果有几十个数据库的话,有个report会比较省力一些。个人观点,仅供参考。


这个有道理。 一般的脚本或程序,对异常的处理是必不可少的,这样才能降低DBA的维护工作量。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP