注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

PostgreSQL 中文网

 
 
 

日志

 
 

一个 pg_dump SHELL 脚本  

2010-11-23 16:49:31|  分类: PG备份与恢复 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |


       最近有个处于开发阶段的项目需要DBA介入,希望DBA对这个项目的数据库进行备份。要到
主机帐号后,先对数据库进行一翻熟悉,发现上面有虽然有9个库,但是数据量都不大,除了一
个库有5G左右,其它的都在1G以下,因为目前业务还没完全上线,等以后业务起来后数据量应该
会大些, 由于数据库不是很大,并且和项目发员沟通后,只需要一周备一次,于是决定用pg_dump
方式备份,以下是详细内容。  

--备份脚本 dump_db.sh内容
# The folling is database dump shell
#!/bin/bash

export PGHOME=/usr/local/pgsql
export PGPORT=5432
export PGDATA=/usr/local/pgsql/data
export PATH=$PGHOME/bin:$PATH

CUR_DATE=`date +%Y%m%d`

#Loading config-file
CONFIG_FILE="/appt/pgbackup/db.config"        #Set config file
. ${CONFIG_FILE}

#Data directory
SAVE_BASE_DIR="/appt/pgbackup/dump_dir"
DAT_FILE_DIR="${SAVE_BASE_DIR}/${CUR_DATE}"
if [ -d ${DAT_FILE_DIR} ]
  then :
  else
   mkdir -p ${DAT_FILE_DIR}
fi

# The reall backup process !
echo "`date +%F\ %T`  begin backup db  "

for db_name in ${db_name[@]}
do
pg_dump -E UTF8 -Fc ${db_name} -U postgres -v > ${DAT_FILE_DIR}/${db_name}_${CUR_DATE}.dmp
done

echo "`date +%\ F%T`  end backup db  "

--db.config脚本内容
db_name[1]=db_name1  
db_name[2]=db_name2  
db_name[3]=db_name3 
db_name[4]=db_name4
db_name[5]=db_name5   
db_name[6]=db_name6
db_name[7]=db_name7
db_name[8]=db_name8    
db_name[9]=db_name9   

--将备份脚本放到任务计划里,每周三零晨四点备份
###Backup maopao db every week###
0 4 * * 3 /appt/pgbackup/dump_db.sh >>/appt/pgbackup/log/dump.err 2>&1

--后期
  由于没有备份服务器,备份集暂时保存在数据库本机,等有了机器后,需要完善下备份脚本,并且
根据需求将备份集清理脚本也加上。

  评论这张
 
阅读(26594)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016