postgres数据库备份还原脚本,主要用于冷备还原

脚本:gpscloud_restore.sh

在每个用户下面会有一个:~/.pgpass这个文件,主要用存放之前那个用户登录过postgres数据库,第一次登录成功后,下次再登录就不用输入密码了

#!/bin/bash
export POSTGRESPATH=/usr/pgsql-9.5/bin
export PGPASSFILE=~/.pgpass
echo "restore gpscloud db start at $(date +'%d-%m-%Y %H:%M:%S')"
#source ~/.bash_profile
echo "drop database test start...."
$POSTGRESPATH/dropdb -h 127.0.0.1 -U userName dataBaseName
echo "drop database test end!"  
echo "create database test start...." 
$POSTGRESPATH/createdb -h 127.0.0.1 -U userName dataBaseName

echo "create database test end!" 
echo "restore database test start!"
################
#start restore##
################
function dirname(){
        SUFFIX=$1
        FINAL_BACKUP_DIR=/datamnt/dbbackup/"`date +\%Y-\%m-\%d`$SUFFIX/"
    BACK_FULL_PATH=$FINAL_BACKUP_DIR"gpscloud.custom"
    echo "gpscloud_back_path is "$FINAL_BACKUP_DIR
    $POSTGRESPATH/pg_restore --host 127.0.0.1 --port 5432 --username userName --dbname dataBaseName --no-password  --verbose $BACK_FULL_PATH
    echo "restore database test end!"
    echo "restore gpscloud db end at $(date +'%d-%m-%Y %H:%M:%S')"
}
#moth
DAY_OF_MONTH=`date +%d`
if [ $DAY_OF_MONTH -eq 1 ];
then
        dirname "-monthly"
        exit 0;
fi
#week
DAY_OF_WEEK=`date +%u` #1-7 (Monday-Sunday)
if [ $DAY_OF_WEEK = 6 ];
then
        dirname "-weekly"
        exit 0;
fi
#daily
dirname "-daily"


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值