pgsql备份指定数据库以及恢复 备份脚本#!/bin/bash # 配置区域密码直接写在这里 PGHOSTlocalhost # 数据库主机地址 PGPORT5432 # 数据库端口 PGUSERpostgres # 数据库用户名 PGPASSWORD45123 # 数据库密码 ← 直接填写 BACKUP_DIR/www/backup/pgsql # 备份文件存放目录 DATE$(date %Y-%m-%d_%H-%M-%S) # 要备份的三个数据库 DATABASES(init job tenant) # # 导出密码到环境变量供 pg_dump 使用 export PGPASSWORD # 创建备份目录如果不存在 mkdir -p $BACKUP_DIR # 循环备份每个数据库 for DB in ${DATABASES[]}; do echo 开始备份数据库: $DB ... pg_dump -h $PGHOST -p $PGPORT -U $PGUSER -d $DB $BACKUP_DIR/${DB}_${DATE}.sql # 检查备份是否成功 if [ $? -eq 0 ]; then echo ? $DB 备份成功: $BACKUP_DIR/${DB}_${DATE}.sql else echo ? $DB 备份失败 fi done echo 所有数据库备份完成备份完会出现三个备份文件单库恢复psql -h127.0.0.1 -U postgres -d init init.sql psql -h 127.0.0.1 -U postgres -d job job.sql psql -h 127.0.0.1 -U postgres -d tenant tenant.sql