Postgres备份脚本

Postgres备份脚本

 

[root@localhost bak_linux]# vi linux_postgres_bak.sh

#!/bin/sh

 

#备份的文件放置的路径

bak_path=/home/postgres

BACKBASE=$bak_path/wmpay_bak

log_file=$bak_path/$(date+%Y%m%d)#linux_postgres_bak.log

 

#把执行结果写到日志中

exec 1>>$log_file 2>&1

 

#引用postgres用户下的数据库备份脚本,备份数据库

su - postgres -c "sh/home/postgres/postgres_bak.sh"

 

#压缩备份

tar -zcvf $bak_path/wmpay$(date+%Y%m%d)bak.tar.gz $BACKBASE

 

#上传压缩的备份

ftp -i -n -v << FTPIT

open 192.168.0.27

user 111 111

binary

lcd $bak_path

mput *bak.tar.gz *#linux_postgres_bak.log

by

FTPIT

 

#删除备份压缩文件

rm -rf $bak_path/*bak.tar.gz

rm -rf $bak_path/*#linux_postgres_bak.log

 

#删除3天前的归档日志

 

 

&&&&&&&&&&&&&&&&&&&&&&&&&引用到的postgres备份脚本

 

[postgres@localhost ~]$ cat postgres_bak.sh

#!/bin/sh

 

#变量

PGDATA=$HOME/pgdata

BACKBASE=$HOME/wmpay_bak

ARCHIVE=$HOME/wmpay_archive_log

#备份

psql -d wmpay -c "selectPG_START_BACKUP('test_backup')"

cp -R $PGDATA/* $BACKBASE

psql -d wmpay -c "selectPG_STOP_BACKUP()"

psql -d wmpay -c"select pg_switch_xlog()"



 

你可能感兴趣的:(postgres)