#!/bin/bash
source /etc/profile
# 定义host、账号、密码,需要自定义
pg_host='172.3.2.7'
pg_user='postgres'
export PGPASSWORD=123456
pg_port='5432'
# 定义备份目录、备份库、文件格式,需要自定义
date_day=`date +%F`
bak_dir='/data/bak/datas/postgres13'
bak_db_name=('cd' 'common' 'gdpc' 'data' 'postgres')
for db_name in ${bak_db_name[@]};do
[[ -z $db_name ]] && exit 1
mkdir -p $bak_dir/$db_name/
pg_dump -h $pg_host -U $pg_user -d $db_name -f $bak_dir/$db_name/$db_name$date_day.sql
if [[ $? -eq 0 ]];then
echo "$db_name$(date +%F-%T) 备份成功" >> $bak_dir/pg_bak.log
cd $bak_dir/$db_name && tar zcf $db_name$date_day.tar $db_name$date_day.sql
if [[ $? -eq 0 ]];then
rm -f $bak_dir/$db_name/$db_name$date_day.sql
fi
fi
find $bak_dir/$db_name/ -mtime +7 -exec rm -f {} \;
done