openGauss数据库源码解析 | 备份恢复机制(4)

本文详细介绍了gs_probackup工具的命令行参数,涵盖了通用参数、备份参数、恢复参数以及远程操作设置,帮助用户理解和使用这款备份工具进行高效的数据管理。
摘要由CSDN通过智能技术生成

gs_probackup在执行各个子命令处理函数之前,需要解析各个命令的命令行参数,gs_probackup支持的命令行参数如表10-2所示。

表10-2  命令行参数

参数

类别

描述

Command

通用参数

gs_probackup除version和help以外的子命令:init、add-instance、del-instance、set-config、set-backup、show-config、show、backup、restore、merge、delete、validate

-?, --help

通用参数

显示gs_probackup命令行参数的帮助信息,然后退出。子命令中只能使用--help,不能使用-?

-V, --version

通用参数

打印gs_probackup版本,然后退出

-B backup-path, --backup-path=backup-path

通用参数

备份的路径。

系统环境变量:$BACKUP_PATH

-D pgdata-path, --pgdata=pgdata-path

通用参数

数据目录的路径。

系统环境变量:$PGDATA

--instance =instance_name

通用参数

实例名

-i backup-id, --backup-id=backup-id

通用参数

备份的唯一标识

--format=format

通用参数

指定显示备份信息的格式,支持plain和json格式。

默认值:plain

--status =backup_status

通用参数

删除指定状态的所有备份

-j threads_num, --threads=threads_num

通用参数

设置备份、还原、合并进程的并行线程数

--archive

通用参数

显示WAL归档信息

--progress

通用参数

显示进度

--note=text

通用参数

给备份添加note

-b backup-mode, --backup-mode=backup-mode

备份参数

指定备份模式,支持FULL和PTRACK。

FULL:创建全量备份,全量备份包含所有数据文件

PTRACK:创建PTRACK增量备份

-C, --smooth-checkpoint

备份参数

将检查点在一段时间内完成。默认情况下,gs_probackup会尝试尽快完成检查点

-S slot-name, --slot=slot-name

备份参数

指定WAL流处理的复制槽

--temp-slot

备份参数

在备份的实例中为WAL流处理创建一个临时物理复制槽,它确保在备份过程中,所有所需的WAL段仍然是可用的。默认的slot名为pg_probackup_slot,可通过选项--slot/-S更改

--backup-pg-log

备份参数

将日志目录包含到备份中。此目录通常包含日志消息,默认情况下不包含日志目录

-E external-directories-paths, --external-dirs=external-directories-paths

备份参数

将指定的目录包含到备份中。此选项对于备份位于数据目录外部的脚本、SQL转储和配置文件很有用。如果要备份多个外部目录,请在UNIX上用冒号分隔它们的路径,如-E /tmp/dir1:/tmp/dir2

--skip-block-validation

备份参数

关闭块级校验,加快备份速度

--no-validate

备份参数

在完成备份后跳过自动验证

--no-sync

备份参数

不将备份文件同步到磁盘

--archive-timeout=timeout

备份参数

以秒为单位设置流式处理的超时时间。

默认值:300

-I, --incremental-mode=none|checksum|lsn

恢复参数

若PGDATA中可用的有效页没有修改,则重新使用他们。

默认值:none

--external-mapping=OLDDIR=NEWDIR

恢复参数

在恢复时,将包含在备份中的外部目录从OLDDIR重新定位到NEWDIR目录。OLDDIR和NEWDIR都必须是绝对路径。如果路径中包含“=”,则使用反斜杠转义。此选项可为多个目录多次指定

-T OLDDIR=NEWDIR, --tablespace-mapping=OLDDIR=NEWDIR

恢复参数

在恢复时,将表空间从OLDDIR重新定位到NEWDIR目录。OLDDIR和NEWDIR必须都是绝对路径。如果路径中包含“=”,则使用反斜杠转义。多个表空间可以多次指定此选项。此选项必须和--external-mapping一起使用

--skip-external-dirs

恢复参数

跳过备份中包含的使用--external-dirs选项指定的外部目录。这些目录的内容将不会被恢复

--skip-block-validation

恢复参数

跳过块级校验,以加快验证速度。在恢复之前的自动验证期间,将仅做文件级别的校验

--no-validate

恢复参数

跳过备份验证

--force

恢复参数

允许忽略备份的无效状态。如果出于某种原因需要从损坏的或无效的备份中恢复数据,可以使用此标志。请谨慎使用

--recovery-target=immediate|latest

恢复目标参数

恢复目标参数:如果配置了连续的WAL归档,则可以和restore命令一起使用这些参数,定义何时停止恢复。

immediate:当达到指定备份的一致性状态后,停止恢复;如果省略-i/--backup_id参数,则恢复到最新的可用的备份之后,停止恢复。

latest:持续进行恢复,直到应用了所有存档中的所有可用的WAL段。

--recovery-target的默认值取决于要恢复的备份的WAL传输方式,STREAM流备份为immediate,归档模式为latest

--recovery-target-timeline=timeline

恢复目标参数

指定要恢复到的timeline。缺省情况下,使用指定备份的timeline

--recovery-target-lsn=lsn

恢复目标参数

指定要恢复到的lsn

--recovery-target-name=target-name

恢复目标参数

指定要将数据恢复到的已命名的保存点

--recovery-target-time=time

恢复目标参数

指定要恢复到的时间

--recovery-target-xid=xid

恢复目标参数

指定要恢复到的事务ID

--recovery-target-inclusive=boolean

恢复目标参数

当该参数指定为true时,恢复目标将包括指定的内容。

当该参数指定为false时,恢复目标将不包括指定的内容。

该参数必须和--recovery-target-name、--recovery-target-time、--recovery-target-lsn或--recovery-target-xid一起使用

--recovery-target-action=pause|promote|shutdown

恢复目标参数

指定恢复至目标时,服务器应执行的操作

--restore-command=cmdline

恢复目标参数

指定恢复相关的命令。

例如:--restore-command='cp /mnt/server/archivedir/%f "%p"'

--retention-redundancy=retention-redundancy

备份留存参数

备份留存相关参数:可以和backup和delete命令一起使用这些参数。指定在数据目录中留存的完整备份数。必须为正整数。0表示禁用此设置。

默认值:0

--retention-window=retention-window

备份留存参数

指定留存的天数。必须为正整数。0表示禁用此设置。

默认值:0

--wal-depth=wal-depth

备份留存参数

每个时间轴上必须留存的执行PITR能力的最新有效备份数。必须为正整数。0表示禁用此设置。

默认值:0

--delete-wal

备份留存参数

从任何现有的备份中删除不需要的WAL文件

--delete-expired

备份留存参数

删除不符合pg_probackup.conf配置文件中定义的留存策略的备份

--merge-expired

备份留存参数

将满足留存策略要求的最旧的增量备份与其已过期的父备份合并

--dry-run

备份留存参数

显示所有可用备份的当前状态,不删除或合并过期备份

--ttl=interval

备份留存参数

指定从恢复时间开始计算,备份要留存的时间量。必须为正整数。0表示取消备份固定。

支持的单位:ms,s,min,h,d(默认为s)。例如:--ttl=30d。

将某些备份从已建立的留存策略中排除,可以和backup和set-backup命令一起使用这些参数

--expire-time=time

备份留存参数

指定备份留存失效的时间戳。必须是ISO-8601标准的时间戳。

例如:--expire-time='2020-01-01 00:00:00+03'

--log-level-console=log-level-console

日志参数

日志级别:verbose、log、info、warning、error和off。设置要发送到控制台的日志级别。每个级别都包含其后的所有级别。级别越高,发送的消息越少。指定off级别表示禁用控制台日志记录。

默认值:info

--log-level-file=log-level-file

日志参数

设置要发送到日志文件的日志级别。每个级别都包含其后的所有级别。级别越高,发送的消息越少。指定off级别表示禁用日志文件记录。

默认值:off

--log-filename=log-filename

日志参数

指定要创建的日志文件的文件名。文件名可以使用strftime模式,因此可以使用%-escapes指定随时间变化的文件名。

例如,如果指定了“pg_probackup-%u.log”模式,则pg_probackup为每周的每一天生成单独的日志文件,其中%u替换为相应的十进制数字,即pg_probackup-1.log表示星期一;pg_probackup-2.log表示星期二,以此类推。

如果指定了--log-level-file参数启用日志文件记录,则该参数有效。

默认值:"pg_probackup.log"

--error-log-filename=error-log-filename

日志参数

指定仅用于error日志的日志文件名。指定方式与--log-filename参数相同。此参数用于故障排除和监视

--log-directory=log-directory

日志参数

指定创建日志文件的目录。必须是绝对路径。此目录会在写入第一条日志时创建。

默认值:$BACKUP_PATH/log

--log-rotation-size=log-rotation-size

日志参数

指定单个日志文件的最大值。如果达到此值,则启动gs_probackup命令后,日志文件将循环,但help和version命令除外。0表示禁用基于文件大小的循环。

支持的单位:KB、MB、GB、TB(默认为KB)。

默认值:0

--log-rotation-age=log-rotation-age

日志参数

单个日志文件的最大生命周期。如果达到此值,则启动gs_probackup命令后,日志文件将循环,但help和version命令除外。$BACKUP_PATH/log/log_rotation目录下保存最后一次创建日志文件的时间。0表示禁用基于时间的循环。

支持的单位:ms,s,min,h,d(默认为min)。

默认值:0

-d dbname, --pgdatabase=dbname

连接参数

指定要连接的数据库名称。该连接仅用于管理备份进程,因此您可以连接到任何现有的数据库。如果命令行、PGDATABASE环境变量或pg_probackup.conf配置文件中没有指定此参数,则gs_probackup会尝试从PGUSER环境变量中获取该值。如果未设置PGUSER变量,则从当前用户名获取。系统环境变量:$PGDATABASE

-h hostname, --pghost=hostname

连接参数

指定运行服务器的系统的主机名。如果该值以斜杠开头,则被用作UNIX域套接字的路径。

系统环境变量:$PGHOST。

默认值:local socket

-p port, --pgport=port

连接参数

指定服务器正在侦听连接的TCP端口或本地UNIX域套接字文件扩展名。

系统环境变量:$PGPORT。

默认值:5432

-U username, --pguser=username

连接参数

指定所连接主机的用户名。

系统环境变量:$PGUSER

-w, --no-password

连接参数

不出现输入密码提示。如果主机要求密码认证并且密码没有通过其他形式给出,则连接尝试将会失败。该选项在批量工作和不存在用户输入密码的脚本中很有帮助

-W, --password

连接参数

强制出现输入密码提示

--compress-algorithm=compress-algorithm

压缩参数

可以和backup命令一起使用这些参数,指定用于压缩数据文件的算法。

compress-algorithm取值包括zlib、pglz和none。如果设置为zlib或pglz,此选项将启用压缩。默认情况下,压缩功能处于关闭状态。

默认值:none

--compress-level=compress-level

压缩参数

compress-level指定压缩级别。取值范围:0~9。

0表示无压缩;

1表示压缩比最小,处理速度最快;

9表示压缩比最大,处理速度最慢;

可与--compress-algorithm选项一起使用。

默认值:1

--remote-proto=protocol

远程模式参数

通过SSH远程运行gs_probackup操作的相关参数。可以和add-instance、set-config、backup、restore命令一起使用这些参数。

指定用于远程操作的协议。目前只支持SSH协议。取值包括:

SSH:通过SSH启用远程备份模式,这是默认值。

none:显式禁用远程模式。

如果指定了--remote-host参数,可以省略此参数

--remote-host=destination

远程模式参数

指定要连接的远程主机的IP地址或主机名

--remote-port=port

远程模式参数

指定要连接的远程主机的端口号。

默认值:22

--remote-user=username

远程模式参数

指定SSH连接的远程主机用户。如果省略此参数,则使用当前发起SSH连接的用户。

默认值:当前用户

--remote-path=path

远程模式参数

指定gs_probackup在远程系统的安装目录。

默认值:当前路径

--ssh-options=ssh_options

远程模式参数

指定SSH命令行参数的字符串。

例如:--ssh-options='-c cipher_spec -F configfile'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值