PgSQL定时备份

1,  综述:

下面主要是通过SQL转储的方式备份PostgreSQL, SQL 转储的方法是创建一个文本文件,这个文本里面都是 SQL 命令,当把这个文件回馈给服务器时,将重建与转储时状态一样的数据库。

2,   备份命令

(1)  PostgreSQL 自带的内置备份工具叫做 pg_dump

实例:

#su  - postgres
#cd/usr/local/postgressql/bin
#./pg_dump mydb > test_db.out

 

从转储中恢复

#./created restoredb
#./psql –d restoredb < test_db.out

 

     (2) 当遇到大数据库时候,请使用以下方式

     实例:

#su  - postgres
#cd /usr/local/postgressql/bin
#./pg_dump –Ft –b mydb > test_db.tar

 

恢复大数据库

#./created restored
#pg_restore –d restored test_db.tar

 

(3)  备份整个数据库使用pg_dumpall

实例:

#su - postgres
#cd /usr/local/postgressql/bin
#./pg_dumpall  –U postgres > alldb.out

 

恢复数据库

#./psql –Upostgresql < alldb.out

一旦恢复成功,建议使用

#vacuumdb -a –z

 

 

3,  计划备份任务

(1)    编写一个备份脚本

#vim /home/postgres/backup.sh

#shell variables
date_now=`date +%Y%m%d`
back_dir=./
back_log_dir="./backup.log"
rmback_log_dir="./rmback.log"
#postgresql bakup
/usr/local/postgressql/bin/pg_dump  -U postgres mydb >$back_dir/$date_now.out
if [ $? = 0 ];then
echo "$date_now postgresql backup success" >>$back_log_dir
echo "" >> $back_log_dir
else
echo "$date_now postgresql backup failed" >> $back_log_dir
echo "" >>$back_log_dir
fi

#rm back files
find $back_dir -mtime +8 -exec rm -fr {} \;
if [ $? = 0 ];then
echo "$date_now rm backup files successful">>$rmback_log_dir
echo "" >>$rmback_log_dir
else
echo "$date_now rm backup files failed">>$rmback_log_dir
echo "" >>$rmback_log_dir
fi

 

#chmod –R 777 backup.sh
#mkdir –p /data/backupdb
#mkdir –p /var/log/pgsqllog/rmback
#chown –R postgres /data/backupdb
#chown –R postgres/var/log/pgsqllog/rmback
#crontab -u postgres –e
0 3 * * * /home/postgresql/backup.sh

 

 

http://j3j5.com/post-129.crontab -u postgres –e

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值