暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

配置 pgBackRest 远程备份主机

原创 黄山谷 2025-12-25
230
ip 主机名 用途
10.10.3.57 pg002 PostgreSQL 数据库
10.10.3.58 pgbackup pgBackRest 备份主机

pgbackrest的安装参考之前的文章:https://www.modb.pro/db/2003488856398716928

设置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 的权限

chown pgbackrest:pgbackrest -R /home/postgres/

image.png

设置临时文件路径和权限

mkdir -p /tmp/pgbackrest
chown pgbackrest:pgbackrest /tmp/pgbackrest
chmod 770 /tmp/pgbackrest

设置备份路径的权限

chown -R pgbackrest:pgbackrest /mysql/
chmod -R 750 /mysql/pgbackup002

创建 stanza

/home/postgres/app/postgresql/bin/pgbackrest --stanza=pg002 stanza-create

image.png

测试归档

/home/postgres/app/postgresql/bin/pgbackrest --stanza=pg002 check

image.png

image.png

全备

/home/postgres/app/postgresql/bin/pgbackrest --stanza=pg002 --log-level-console=info --start-fast --process-max=2 --archive-copy --type=full backup

image.png

差异备份

 /home/postgres/app/postgresql/bin/pgbackrest --stanza=pg002 --log-level-console=info --archive-copy --type=diff --process-max=2 backup

image.png

检查备份

 /home/postgres/app/postgresql/bin/pgbackrest --stanza=pg002 --log-level-console=info verify

image.png

查看备份

/home/postgres/app/postgresql/bin/pgbackrest info

image.png
image.png

最后修改时间:2025-12-25 18:49:06
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论