sdBackRest备份恢复管理工具
sdBackRest备份恢复管理工具¶
备份恢复是数据库的一项核心功能,在发生意外情况时,可以最大程度上确保用户的数据安全。 sdBackRest实现了seabox数据库数据的全量备份、增量备份、差异备份、按时间点数据恢复、备份文件加密等丰富的备份恢复功能,提供了对用户数据的全面保护。
使用前配置¶
环境准备¶
以默认用户seabox为例,在root下执行:
mkdir -p -m 770 /var/log/sdbackrest
chown seabox:seabox /var/log/sdbackrest
mkdir -p /etc/sdbackrest
mkdir -p /etc/sdbackrest/conf.d
touch /etc/sdbackrest/sdbackrest.conf
chmod 640 /etc/sdbackrest/sdbackrest.conf
chown seabox:seabox /etc/sdbackrest/sdbackrest.conf
mkdir -p /var/lib/sdsql/sdbackrest;
chmod 750 /var/lib/sdsql/sdbackrest;
chown seabox:seabox /var/lib/sdsql/sdbackrest
chmod 777 /var/lib/sdsql
mkdir /var/spool/sdbackrest
chown seabox:seabox /var/spool/sdbackrest
修改配置文件¶
修改sdBackRest的配置文件
修改/etc/sdbackrest/sdbackrest.conf,添加如下内容:
[sd1-data]
sd1-path=/home/seabox/ssql/data
[global]
archive-async=y
process-max=2
start-fast=y
repo1-path=/var/lib/sdsql/sdbackrest
repo1-retention-full=5
[global:archive-push]
process-max=2
compress-level=3
[global:archive-get]
process-max=2
修改seabox的配置文件
修改/home/seabox/data/seaboxsql.conf,修改内容如下:
archive_command = 'sdbackrest --stanza=sd1-data archive-push %p'
archive_mode = on
listen_addresses = '*'
然后重启seaboxsql数据库服务。
功能说明¶
SeaboxSQL数据库使用sdBackRest工具,工具用法如下
sdbackrest 2.27 - General help
Usage:
sdbackrest [options] [command]
Commands:
backup Backup a database cluster.
check Check the configuration.
expire Expire backups that exceed retention.
help Get help.
info Retrieve information about backups.
restore Restore a database cluster.
stanza-create Create the required stanza data.
stanza-delete Delete a stanza.
version Get version.
Use 'sdbackrest help [command]' for more information.
备份操作¶
对seabox数据库进行数据备份操作
命令格式
sdbackrest [options] backup
参数介绍
--force
- 强制进行一个离线的备份,默认为关
--online
- 进行一个在线的备份,默认为开
--start-fast
- 强行创建一个checkpoint,并迅速启动备份操作
--type
- 指定备份类型,full:全量备份,incr:增量备份,diff:差异备份
恢复操作¶
选择一个备份文件,对seabox数据库进行数据恢复操作
命令格式
sdbackrest [options] restore
参数介绍
--db-include
- 恢复指定的databases
--force
- 强制进行数据恢复,默认为关
--set
- 选择备份文件进行数据恢复,默认为latest
--tablespace-map
- 恢复一个tablespace到指定的路径
--tablespace-map-all
- 恢复所有的tablespace到指定的路径
--target
- 当数据恢复类型为name、xid或者time时,确定恢复完成的目标
--target-action
- 当数据恢复到targe时,执行的动作,默认为pause
--type
-
数据恢复的类型,默认为default,有如下的可选值:
- default
- 将备份文件中的所有数据恢复完成
- name
- 数据恢复到的指定的point,在–target中确定
- xid
- 数据恢复到指定的事务ID,在–target中确定
- preserver
- 保留已经存在的recovery.conf文件
查看备份文件列表¶
列出已存在的备份文件列表
命令格式
sdbackrest [options] info
参数介绍
--set
- 显示详细信息的备份文件ID
--output
- 信息显示格式,有text和json两种格式,默认为text
创建stanza¶
创建备份需要的stanza。stance-create命令必须运行在备份文件库所在的节点上并且stanza已经配置到sdbackrest.conf文件中
命令格式
sdbackrest [options] stanza-create
参数介绍
--online
- 在已运行的seabox数据库上,创建stanza,默认为开
--stanza
- 指定stanza
删除stanza¶
删除一个stanza,需要注意的是,一旦指定的stanza被删除,将会删除备份文件库中,此stanza下的所有备份文件和归档文件.
在执行删除stanza之前,需要执行如下操作:
-
关闭seabox数据库
-
在备份文件库所在的节点上执行stop操作
-
在备份文件库所在的节点上执行stanza-delete操作
命令格式
sdbackrest [options] stanza-delete
参数介绍
--force
- 强制删除stanza
--stanza
- 指定stanza
保留指定的备份文件¶
sdBackRest会进行循环备份,已经超时的备份文件会被删除
可以指定保留某些备份文件,使这些文件不被删除
命令格式
sdbackrest [options] expire
参数介绍
--set
- 需要保留的备份文件ID
sdBackRest版本¶
查看安装的sdBackRest版本
命令格式
sdbackrest version
参数介绍
无
通用参数介绍¶
--buffer-size
- 文件操作的缓冲区大小,默认为1KB
--config
- sdBackRest的配置文件,默认为/etc/sdbackrest/sdbackrest.conf
--io-timeout
- IO超时时间,默认为60s
--sck-keep-alive
- 是否使用保活机制,默认为开
--tcp-keep-alive-count
- 保活失败的次数,超过此值,则认为对方断开
--stanza
- 指定stanza
--repo-path
- 备份文件的存储路径,默认为:/var/lib/sdbackrest
--log-level-console
- 显示的日志类型,默认为warn
--log-level-file
- 文件中记录的日志类型,默认为info
--log-path
- 日志文件路径,默认为/var/log/sdbackrest
--log-timestamp
- 是否记录日志时间戳,默认为开