date: 2020-07-14title: postgresql备份脚本 #标题
tags: pgsql备份 #标签
categories: postgresql # 分类
记录下postgresql备份脚本。
配置免密登录
# 用户家目录下创建 .pgpass文件$ cat .pgpass 127.0.0.1:5432:postgres:postgres:u5xhYE3REq# 文件对应的格式为(前四个字段可以使用通配符 * 号):hostname:port:database:username:password# 使用通配符如下:*:*:*:*:u5xhYE3REq
备份脚本
#!/usr/bin/env bash# postgresql全库备份脚本set -e# 定义数据库连接及库名等相关信息db_host=127.0.0.1db_port=5432db_user=postgres# db指定要备份的数据库,多个库请换行输入db_name=( ndcms_master)backup_dir=/apps/usr/postgres/pg_backup/cur_date=$(date +%F_%H%M)set +e;[[ ! -d ${backup_dir} ]] && mkdir ${backup_dir};set -efor i in "${db_name[@]}"do pg_dump -h ${db_host} -p ${db_port} -U ${db_user} -F c -b -f ${backup_dir}${i}_${cur_date}.dump ${i}done# 从备份中恢复指令(数据库需手动创建)# pg_restore -d db_name -h ${db_host} -p ${db_port} -U ${db_user} ${backup_dir}${i}_${cur_date}.dump