网上的备份脚本很多,但是都是单表或者整库的,我这里整理了一个postgresql的多库备份脚本,具体备份方式有很多说明,就不一一介绍了,下面贴脚本,备份7天并删除7天前的脚本,其中数据库及密码自行替换,/path/to/postgresql/bin/pg_dump这个为数据库安装文件下面的bin执行路径,
每一行一个数据库名称,代表需要备份的数据库
恢复命令:/path/to/postgresql/bin/pg_restore -U postgres -p 5432 -h 10.200.69.21 -d demo pgsql-backup-demo.2021-10-18.tar
#!/bin/bash
cur_time=$(date '+%Y-%m-%d')
sevendays_time=$(date -d -7days '+%Y-%m-%d')
export PGPASSWORD=postgres
echo "Starting Backup PostgreSQL ..."
# 需要备份的库
databases=(
demo
kong1
portal1
)
for database in "${databases[@]}";
do
rm -rf pgsql-backup-${database}.$sevendays_time.tar
/path/to/postgresql/bin/pg_dump -Ft -U postgres -p 5432 -h 10.200.69.21 -d ${database} > "pgsql-backup-${database}.$cur_time.tar"
done
echo "Remove temp file ..."
# rm -rf pgsql-backup.*.tar
echo "Finish Backup ..."
# 恢复命令
# /path/to/postgresql/bin/pg_restore -U postgres -p 5432 -h 10.200.69.21 -d demo pgsql-backup-demo.2021-10-18.tar
版权声明:本文为q502106957原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。