#!/bin/bash
source /etc/profile
source ~/.bashrc
DATE=`date +%Y%m%d%H%M%S`
newdir=/kingdee/cosmic/postgres/pgbackup/fenku_$DATE
dbnames=`psql -d postgres -c "SELECT datname FROM pg_database;" | grep -E "(demo_|mc)"`
# 创建新备份文件夹
[ ! -d "$newdir" ] && mkdir -p "$newdir"
cd $newdir
for dbname in $dbnames; do
#export PGPASSWORD=Cosmic@2020; pg_dump -U postgres -v -Fc -d $dbname --no-owner -f $newdir/$dbname-$DATE.dump
#备份内容详细输出到日志文件里
export PGPASSWORD=Cosmic@5487; pg_dump -U postgres -v -Fc -d $dbname --no-owner -f $newdir/$dbname-$DATE.dump 2>$newdir/$dbname-$DATE.log
done
#过滤所有备份日志文件里面的error信息,合并一个文件
grep error: *.log > 0error-$DATE.log
# 删除旧的备份文件
find /kingdee/cosmic/postgres/pgbackup -name "fenku_*" -mtime +5 -exec rm -rf {} \;
#0 15 * * * sh /kingdee/cosmic/postgres/pgbackup/pgbak.sh
##*********************************************************************************##
# 导入库参考:
# create database test1213_fi with owner=cosmic encoding='UTF8' tablespace=pg_default LC_COLLATE='en_US.UTF-8' LC_CTYPE='en_US.UTF-8' CONNECTION LIMIT=-1 TEMPLATE template0;
# GRANT ALL ON DATABASE test1213_fi TO cosmic;
# pg_restore -U postgres --no-owner --role cosmic -d test1213_fi -v /kingdee/pgbak/cosmic_fi.dump
推荐阅读