语法
barman [OPTIONS] COMMAND
OPTIONS
-v, –version
显示barman版本并退出
-q, –quiet
不输入任何内容.用于定时脚本.
-h, –help
显示帮助信息不能退出
-c CONFIG, –config CONFIG
使用指定的配置文件
COMMAND
所有命令均支持查看帮助
barman COMMAND -h
archive-wal SERVER_NAME
通过archive_command和流复制,获得xlog文件
backup SERVER_NAME
对指定服务器执行备份,SERVER_NAME为all表示备份所有服务器
参数
- –immediate-checkpoint:备份前强制数据库尽快触发检查点
- –no-immediate-checkpoint:强制等待数据库检查点自动触发
- –reuse-backup [INCREMENTAL_TYPE]:设置重用备份文件方式
- –retry-times:基础备份错误重试次数
- –no-retry:等同于–retry-times 0
- –retry-sleep:基础备份失败重试等待时间
- -j , --jobs:并行拷贝数量
check-backup SERVER_NAME BACKUP_ID
检查物理备份的一致性,确保获得所有所需的WAL文件。cron命令完成每次备份前自动调用本命令
check SERVER_NAME
查看指定服务器的诊断信息,包括SSH连接配置、PostgreSQL版本、配置和备份路径、归档处理、流复制处理、复制槽等等,SERVER_NAME为all表示检查所有服务器
cron
执行维护任务,例如强制执行保留策略、WAL文件管理等
delete SERVER_NAME BACKUP_ID
删除指定备份,BACKUP_ID除了适应ID外,还可以使用first(最早的备份)、last(最近的备份)、latest(最近的备份)、oldest(最早的备份)
diagnose
收集Barman服务器和所有备份服务的诊断信息,包括全局配置、SSH版本、Python版本、rsync版本、当前配置和所有服务的状态
get-wal [OPTIONS] SERVER_NAME WAL_ID
从指定服务器的xlog归档接受WAL文件,文件内容默认将未压缩输出到STDOUT
可用选项包括
- -o OUTPUT_DIRECTORY:指定接收WAL的存储目录
- -z 输出将被gzip压缩
- -j 输出将被bzip2压缩
- -p SIZE
list-backup SERVER_NAME
显示指定服务器的可用备份,可用于获取backup ID
list-files [OPTIONS] SERVER_NAME BACKUP_ID
列出所有部分备份的文件
选项
- –target TARGET_TYPE:TARGET_TYPE值包括data(只列出数据文件)、standalone(列出基本备份和wAL文件)、WAL(列出基本备份开始和日志结束/后续基本备份开始之间所有WAL)、full(等于data+wal),默认为standalone
list-server
展示所有已配置的服务和描述
rebuild-xlogdb SERVER_NAME
根据磁盘内容重建WAL文件元数据,每个备份服务有一个自己的xlog.db文件,SERVER_NAME为all表示对所有备份服务重建
receive-wal [OPTIONS] SERVER_NAME
无选项参数时,启动WAL流复制,使用pg_receivewal/pg_receivexlog通过流协议从PG服务器接收WAL
选项
- –stop:停止接收WAL进程
- –reset:重置receive-wal状态,从当前WAL文件开始接收
- –create-slot:使用SERVER_NAME对应配置文件中的slot_name配置,在数据库服务器上创建数据槽
- –drop-slot:使用SERVER_NAME对应配置文件中的slot_name配置,在数据库服务器上删除数据槽
recover [OPTIONS] SERVER_NAME BACKUP_ID DESTINATION_DIRECTORY
在指定目录(支持本地或远程目录,通过–remote-ssh-command选项设置)恢复备份
选项
- -–target-tli TARGET_TLI:恢复到指定的时间线
- -–target-time TARGET_TIME:恢复到指定的时间,可使用任何有效的时间形式,例如"YYYY-MM-DD HH:MM:SS.mmm"
- -–target-xid TARGET_XID:恢复到指定的transaction ID
- –target-immediate:恢复大最后的一致性状态点(基本备份完成的时间点,不是最新时间点)
- –exclusive:不包含指定的target xid
- –target-action ACTION:当恢复目标到达后执行指定特定操作,包括 pause (PostgreSQL 9.1及以前), shutdown (PostgreSQL 9.5及以前)和 promote (PostgreSQL 9.5及以前)
- –tablespace NAME:LOCATION :指定tablespace 重新定位规则
- –remote-ssh-command SSH_COMMAND:通过指定SSH登陆到远程服务器激活远程恢复,SSH_COMMAND例如‘ssh postgres@db2’
- –retry-times RETRY_TIMES:基本备份恢复错误重试次数,覆盖配置文件中的basebackup_retry_times值
- –no-retry:基本备份恢复错误不重试
- –retry-sleep:基本备份恢复错误重试等待秒数,覆盖配置文件中的basebackup_retry_sleep值
- -j , -–jobs:恢复并行任务数量,只在rsync/SSH时有用
- –get-wal, --no-get-wal:恢复时启用/禁用使用get-wal获取WAL,默认基于配置文件中的recovery_options设置
- –network-compression, --no-network-compression:远程恢复时是否启用网络压缩,默认基于配置文件中的network_compression 设置
- –standby-mode:恢复后作为只读节点启动数据库,默认不作为只读节点
replication-status [OPTIONS] SERVER_NAME
显示指定一个或多个服务器的复制状态,默认行为可以通过选项改变,支持的选项包括:
- –minimal:使用机器可读的输出(默认false)
- –target TARGET_TYPE:TARGET_TYPE 值包括hot-standby(只显示通过rsync /ssh备份的服务器)、wal-streamer(只显示WAL流备份的服务器)、all(所有客户端,默认值)
show-backup SERVER_NAME BACKUP_ID
显示特定备份的详细信息,返回示例如下
Backup 20150828T130001:
Server Name : quagmire
Status : DONE
PostgreSQL Version : 90402
PGDATA directory : /srv/postgresql/9.4/main/data
Base backup information:
Disk usage : 12.4 TiB (12.4 TiB with WALs)
Incremental size : 4.9 TiB (-60.02%)
Timeline : 1
Begin WAL : 0000000100000CFD000000AD
End WAL : 0000000100000D0D00000008
WAL number : 3932
WAL compression ratio: 79.51%
Begin time : 2015-08-28 13:00:01.633925+00:00
End time : 2015-08-29 10:27:06.522846+00:00
Begin Offset : 1575048
End Offset : 13853016
Begin XLOG : CFD/AD180888
End XLOG : D0D/8D36158
WAL information:
No of files : 35039
Disk usage : 121.5 GiB
WAL rate : 275.50/hour
Compression ratio : 77.81%
Last available : 0000000100000D95000000E7
Catalog information:
Retention Policy : not enforced
Previous Backup : 20150821T130001
Next Backup : - (this is the latest base backup)
show-server SERVER_NAME
显示指定服务器的相关信息,包括conninfo,backup_directory,wals_directory,SERVER_NAME为all显示所有服务器
status SERVER_NAME
显示服务器状态,包括可用的备份数量、archive_command、archive_status等,返回示例如下
Server quagmire:
Description: The Giggity database
Passive node: False
PostgreSQL version: 9.3.9
pgespresso extension: Not available
PostgreSQL Data directory: /srv/postgresql/9.3/data
PostgreSQL 'archive_command' setting: rsync -a %p barman@backup:/var/lib/barman/quagmire/incoming
Last archived WAL: 0000000100003103000000AD
Current WAL segment: 0000000100003103000000AE
Retention policies: enforced (mode: auto, retention: REDUNDANCY 2, WAL retention: MAIN)
No. of available backups: 2
First available backup: 20150908T003001
Last available backup: 20150909T003001
Minimum redundancy requirements: satisfied (2/1)
switch-wal SERVER_NAME
让数据库服务器切换wAL
在PostgreSQL 10执行pg_switch_wal(),PostgreSQL 8.3到9.6执行pg_switch_xlog
- –force:强制触发数据库的检查点进行切换,将增大数据库的IO负载
- –archive:等待xlog被归档,如果在指定时间(默认30秒)内未归档,Barman将终止并退出
- –archive-timeout TIMEOUT:指定归档等待时间,默认30秒
本文详细介绍Barman工具,用于PostgreSQL数据库的备份、恢复、监控与管理。涵盖备份策略、WAL归档、流复制、备份一致性检查、服务器状态诊断等功能。
241

被折叠的 条评论
为什么被折叠?



