忘记密码   免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
查看: 33707 | 回复: 6

PostgreSQL自动备份脚本 [复制链接]

论坛徽章:
52
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
发表于 2015-07-28 21:53 |显示全部楼层
前提是已经熟悉PostGreSQL的命令
1:bkpg.sh的内容:
#!/bin/bash
/usr/local/pgsql/bin/pg_dump -hlocalhost -p5431 -Ugroupware hitware>/data/back/hitware/`date +%Y-%m-%d-%T`.sql
/usr/local/pgsql/bin/pg_dump -hlocalhost -p5431 -Ugroupware stemsoft>/data/back/stemsoft/`date +%Y-%m-%d-%T`.sql
2:backpg.sh的内容:
#!/usr/bin/expect
#Description:The Scrpit is auto backup the postgresql database at 8:00 PM       #            every day
#Author:wang.changchun@stemsoft
#Date:2008-12-10
set passwd "12345678"
spawn ~/bin/bkpg.sh;
expect "*Password:";
sleep 0.1;
send "$passwd\r";
expect "*Password:";
sleep 0.1;
send "$passwd\r";
#等待60秒(1分钟);如果不等待,只生成文件,而导出动作没有时间执行。
sleep 60;
#back hitware
#spawn "/usr/local/pgsql/bin/pg_dump -h localhost -p 5431 -U groupware hitware > /data/back/`date +%Y-%m-%d-%T`.sql [lindex $argv 0]";
#expect "*Password:";
#sleep 1;
#send "$passwd\r";
把上面的两个文件存到PostGreSQL用户的bin目录下,赋予执行权限。
然后用crontab -e添加到用户的定时任务就可以了。

论坛徽章:
18
2015亚冠之阿尔希拉尔
日期:2015-06-02 09:56:10数据库技术版块每日发帖之星
日期:2016-08-13 06:20:00数据库技术版块每日发帖之星
日期:2016-04-24 06:20:00数据库技术版块每日发帖之星
日期:2016-03-19 06:20:00数据库技术版块每日发帖之星
日期:2015-12-25 06:20:35数据库技术版块每日发帖之星
日期:2015-12-25 06:20:35数据库技术版块每日发帖之星
日期:2015-12-25 06:20:35数据库技术版块每日发帖之星
日期:2015-09-12 06:20:00数据库技术版块每日发帖之星
日期:2015-09-11 06:20:00ChinaUnix专家徽章
日期:2015-06-30 16:29:48ChinaUnix专家徽章
日期:2015-06-30 16:29:342015年中国系统架构师大会
日期:2015-06-29 16:11:28
发表于 2015-12-22 22:57 |显示全部楼层
为啥 不用物理备份

论坛徽章:
52
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
发表于 2015-12-23 12:20 |显示全部楼层
没有条件 。回复 2# stay_sun


   

论坛徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龙
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥猪
日期:2014-04-01 08:56:02亥猪
日期:2014-04-08 08:38:58每日论坛发贴之星
日期:2015-08-28 06:20:00每日论坛发贴之星
日期:2015-12-28 06:20:00
发表于 2015-12-31 10:14 |显示全部楼层
我也写了自动备份脚本,不过是用Perl和Perl的Expect模块写的。

论坛徽章:
52
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
发表于 2016-01-01 20:25 |显示全部楼层
回复 4# fender0107401


    哥们,分享出来吧。PG版太不活跃了。

论坛徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龙
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥猪
日期:2014-04-01 08:56:02亥猪
日期:2014-04-08 08:38:58每日论坛发贴之星
日期:2015-08-28 06:20:00每日论坛发贴之星
日期:2015-12-28 06:20:00
发表于 2016-01-05 10:20 |显示全部楼层
回复 5# renxiao2003

传送门:http://bbs.chinaunix.net/thread-4232554-1-1.html


   

论坛徽章:
7
亥猪
日期:2013-10-10 17:00:29辰龙
日期:2013-10-12 16:23:19卯兔
日期:2013-11-18 17:01:27金牛座
日期:2014-09-09 10:17:052015七夕节徽章
日期:2015-08-21 11:06:172015亚冠之柏太阳神
日期:2015-09-25 13:56:42数据库技术版块每日发帖之星
日期:2016-08-06 06:20:00
发表于 2016-08-03 11:22 |显示全部楼层
postgresql的热备脚本;
  1. ##===========================================================  
  2. ##   pg_hot_back.sh               
  3. ##   created by lottu           
  4. ##   2016/02/07   
  5. ##   usage: pg_hot_back.sh                           
  6. ##============================================================  
  7. #!/bin/bash  
  8. DATE=`date +%Y%m%d`;
  9. PG_ARCHIVE=/home/postgres/archive/
  10. PG_DATA=/home/postgres/data/
  11. PG_HOME=/home/postgres
  12. BACK_LOG=/home/postgres/log/hot_${DATE}.log

  13. #START BACKUP
  14. echo "START BACKUP..............." > $BACK_LOG
  15. psql postgres -c "select pg_start_backup('hot_back')" >> $BACK_LOG
  16. cd $PG_HOME
  17. tar -zcvf ${PG_HOME}/backup/pg_back_${DATA}.tar.gz data/ >> $BACK_LOG
  18. psql postgres -c "select pg_stop_backup()" >> $BACK_LOG
  19. psql postgres -c "select pg_switch_xlog()" >> $BACK_LOG
  20. psql postgres -c "select pg_current_xlog_location()" >> $BACK_LOG
  21. echo "BACKUP  END" > $BACK_LOG
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:wangnan@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP