linux postgres 备份,linux中postgres的备份脚本

#!/bin/sh ############################################################################# #创建$HOME/script目录,用于存放备份脚本和备份相关的文件。                   # #创建$HOME/wmpay_bak 目录,用于存放数据库的备份文件。                       # #创建$HOME/wmpay_archive_log目录,用于存放postgres数据库的归档日志。        # ############################################################################# #创建$HOME/script/wmpay_bak_file目录,用于存放wmpay_bak的压缩打包文件。     # #创建$HOME/script/wmpay_bak_file_tmp目录,用于存放当天备份的压缩包。        # #创建$HOME/script/wmpay_archive_log_bak目录,用于归档日志的备份。           # #创建$HOME/script/wmpay_archive_log_bak/archive_status                      # #############################################################################

#变量设定 PGDATA=$HOME/pgdata BACKBASE=$HOME/wmpay_bak ARCHIVE=$HOME/wmpay_archive_log ARCHIVE_BAK=$HOME/script/wmpay_archive_log_bak SCRIPT=$HOME/script BAK_FILE_TMP=$SCRIPT/wmpay_bak_file_tmp BAK_LOG=$BAK_FILE_TMP/wmpay$(date +%Y%m%d)_bak.log #把执行结果放入日志中 exec 1>>$BAK_LOG 2>&1 ############################################################################# #做备份$HOME/wmpay_bak rm -rf $BACKBASE/* sleep 1s psql -d wmpay -c "select PG_START_BACKUP('test_backup')" cp -R $PGDATA/* $BACKBASE psql -d wmpay -c "select PG_STOP_BACKUP()" psql -d wmpay -c "select pg_switch_xlog()"

############################################################################# #把备份wmpay_bak,压缩到$BAK_FILE_TMP tar zcvf $BAK_FILE_TMP/wmpay$(date "+%Y%m%d%H%M%S")online_bak.tar.gz $BACKBASE

############################################################################# #用ftp把$BAK_FILE_TMP路径下的文件移动到ftp的/POSTGRES_BAK/wmpay_bak_file sleep 1s ftp -i -n -v << FTPIT open 192.168.1.96 user ftp123 ftp123 binary cd /POSTGRES_BAK/wmpay_bak_file lcd /home/postgres/script/wmpay_bak_file_tmp mput *bak.tar.gz *bak.log by FTPIT

############################################################################# #把昨天的归档日志复制到$ARCHIVE_BAK sleep 1s find $ARCHIVE -name "*" -type f -mmin -$(expr `date +%H` \* 60 + `date +%M` + 1440 \* 1) -a -mmin +$(expr `date +%H` \* 60 + `date +%M`) -exec cp {} $ARCHIVE_BAK \; find $ARCHIVE/archive_status -name "*" -type f  -exec cp {} $ARCHIVE_BAK/archive_status \;

############################################################################# #把$BAK_FILE_TMP路径下的文件移动到$SCRIPT/wmpay_bak_file保存。 sleep 1s mv $BAK_FILE_TMP/* $SCRIPT/wmpay_bak_file

############################################################################# #删除$SCRIPT/wmpay_bak_file路径下存放的8天以前的备份文件。 sleep 1s find $SCRIPT/wmpay_bak_file -name "*" -type f -mtime +8 -exec rm -rf {} \;

############################################################################# #删除$ARCHIVE路径下存放的8天以前的归档日志。 sleep 1s find $ARCHIVE -name "*" -type f -mtime +8 -exec rm -rf {} \; ############################################################################# #删除$SCRIPT/wmpay_archive_log_bak路径下存放的8天以前的归档日志的备份。 sleep 1s find $ARCHIVE_BAK -name "*" -type f -mtime +8 -exec rm -rf {} \;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值