重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛
标题: 配置 pgBackRest 远程备份主机 [打印本页]
作者: mahan 时间: 2025-12-28 13:05
标题: 配置 pgBackRest 远程备份主机
ip 主机名 用途
10.10.3.57 pg002 PostgreSQL 数据库
10.10.3.58 pgbackup pgBackRest 备份主机
设置host
每台机器都设置
vi /etc/hosts
10.10.3.57 pgbackup
10.10.3.58 pg002
创建备份用户
# pgBackRest 备份机器设置
groupadd pgbackrest
adduser -g pgbackrest -n pgbackrest
chown -R pgbackrest: /var/log/pgbackrest/
设置pgbackrest用户密码:passwd pgbackrest
复制
设置互信
# pgBackRest 主机
su - pgbackrest
ssh-keygen -f /home/pgbackrest/.ssh/id_rsa -t rsa -b 4096 -N ""
ssh-copy-id postgres@pg002
# 测试
ssh postgres@pg002 hostname
# 数据库主机 pg002
su - postgres
ssh-copy-id pgbackrest@pgbackup --这一步输入上一步设置的密码
# 测试
ssh pgbackrest@pgbackup hostname
设置备份路径 for pgbackup 主机
mkdir -p /mysql/pgbackup002
chown -R pgbackrest:pgbackrest /mysql/
chown -R pgbackrest:pgbackrest /etc/pgbackrest/pgbackrest.conf
创建参数文件
pgbackup 主机
vi /etc/pgbackrest/pgbackrest.conf
[global]
repo1-path=/mysql/pgbackup002 # 指定备份仓库的存储路径
repo1-retention-full=7 # 设置保留的完整备份数量
repo1-retention-diff=3 # 增量备份保留数量
repo1-retention-archive=14 # 保留14天的WAL文件
repo1-bundle=y # 是否将备份文件打包成单个文件
repo1-block=y # 启用块增量备份
start-fast=y # 快速开始备份,不需要等待一致的检查点就开始备份
log-level-console=info # 控制台日志级别
log-level-file=detail # 日志文件级别
delta=y # 启用增量恢复
process-max=4 # 设置最大并发进程数
compress-type=zst # 设置压缩算法
[pg002]
pg1-path=/home/postgres/pgdata # 数据库的数据目录
pg1-host=pg002 # 主机名
pg1-host-user=postgres # 数据库的主机用户,刚刚创建互信的用户
pg1-port=1622 # 数据库端口
pg1-socket-path=/home/postgres/pgdata # socket路径
pg1-database=postgres # 备份连接使用的数据库
pg1-user=sysdba # 备份连接使用的用户
# for pg002 数据库主机
[global]
repo1-host=pgbackup # 备份机的主机名,前面互信设置的
repo1-host-user=pgbackrest # 备份用户,前面互信设置的
log-level-console=info
log-level-file=detail
compress-type=zst
[pg002]
pg1-path=/home/postgres/pgdata
设置权限
这里需要设置下 pgbackrest 的权限