安装包:sudo apt-get install pgbackrest
修改配置文件:vim /etc/pgbackrest.conf
[global]
#备份文件存放地址
repo1-path=/mesdata/pgbackrest
#保留全备数量
repo1-retention-full=2
#保留差异备份数量
retention-diff=6
#快速启动
start-fast=y
#检测到有其它进程时,自动停止本次
stop-auto=y
#日志地址
log-path=/var/log/pgbackrest
#配置异步归档
archive-async=y
#保存当前wal的归档状态
spool-path=/var/spool/pgbackrest
repo1-retention-history=0
[MES2_DB]
pg1-path=/mesdata/pgdata/postgresql/16/main
修改文件夹权限,给postgres用户
sudo chmod 777 var/log/pgbackrest
sudo chown postgres:postgres var/log/pgbackrest
sudo chmod 777 var/log/pgbackrest
sudo chown postgres:postgres var/log/pgbackrest
修改 /etc/postgresql/16/main/postgresql.conf
archive_command = 'pgbackrest --config=/etc/pgbackrest.conf --stanza=MES2_DB archive-push %p'
修改后使用DBA用户执行生效配置:select pg_reload_conf();
使用postgres用户初始化pgbackrest
pgbackrest --stanza=MES2_DB --log-level-console=info stanza-create
pgbackrest --stanza=MES2_DB --log-level-console=info check
备份命令
完全备份
pgbackrest --stanza=test --log-level-console=info backup --type=full
增备
pgbackrest pgbackrest --stanza=test --log-level-console=info backup --type=incr
差异备份
pgbackrest pgbackrest --stanza=test --log-level-console=info backup --type=diff
恢复数据库:pgbackrest –stanza=mydb –type=immediate restore
定时任务cron
安装:apt install cron
配置:crontab -e
0 2 * * 0 pgbackrest backup --config=/etc/pgbackrest.conf --stanza=MES2_DB --type=full --log-level-console=info --process-max=4
0 2 * * 1-2 pgbackrest backup --config=/etc/pgbackrest.conf --stanza=MES2_DB --type=diff --log-level-console=info --process-max=4
0 2 * * 3 pgbackrest backup --config=/etc/pgbackrest.conf --stanza=MES2_DB --type=full --log-level-console=info --process-max=4
0 2 * * 4-6 pgbackrest backup --config=/etc/pgbackrest.conf --stanza=MES2_DB --type=diff --log-level-console=info --process-max=4
pgbackrest命令参数
log-level-console - 日志部分定义了与日志记录相关的设置
off - 完全不记录(不推荐)
error - 仅记录错误
warn - 记录警告和错误
info - 记录信息、警告和错误
detail - 记录详细信息、信息、警告和错误
debug - 记录调试、详细信息、信息、警告和错误
trace - 记录跟踪(非常详细的调试)、调试、信息、警告和错误
process-max - 每个进程都会执行压缩和传输以使命令运行得更快,配置CPU核心数的一般。
type - 全备份full、增量备份incr、差异备份diff
compress - compress-level=0 关闭压缩备份,默认开启。
start-fast - 强制在快速备份的时候使用检查点。否则,备份将在下一个常规检查点之后启动。