postgresql备份脚本
记录下postgresql备份脚本。
# 配置免密登录
# 用户家目录下创建 .pgpass文件
$ cat .pgpass
127.0.0.1:5432:postgres:postgres:u5xhYE3REq
# 文件对应的格式为(前四个字段可以使用通配符 * 号):
hostname:port:database:username:password
# 使用通配符如下:
*:*:*:*:u5xhYE3REq
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 备份脚本
#!/usr/bin/env bash
# postgresql全库备份脚本
set -e
# 定义数据库连接及库名等相关信息
db_host=127.0.0.1
db_port=5432
db_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 -e
for 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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
上次更新: 2023/04/21, 08:57:47