License: Attribution-NonCommercial-ShareAlike 4.0 International
本文出自 Suzf Blog。 如未注明,均为 SUZF.NET 原创。
cbbackup 工具 是一个灵活的备份命令,使您可以备份本地数据和远程节点和涉及您的集群数据的不同组合:
单节点单buckets 单节点上所有buckets 整个群集上单个buckets 整个群集上所有buckets
备份可以在一个单独的节点直接拷贝文件,也可以通过连接远程群集然后通过数据流的形式保存到备份位置。备份可以运行在运行的节点或集群或脱机节点上执行。
cbbackup 命令可以以一种容易恢复的格式储存数据。当需要恢复的时候使用 cbrestore,你可以还原数据到任何配置的群集。源和目的群集不需要满足你使用 cbbackup 命令时保存的信息。
cbbackup 命令将从源定义的每个项中拷贝数据到目的备份目录。备份文件的格式是Couchbase所特有的并且能够使你在打算将数据还原到群集时恢复所有或部分备份数据 。
可以选择在一个关键上(通过正则表达式)或所有的数据存储在一个特定的vbucket ID,您也可以选择从一个 bucket 中将源数据复制到这个群集中一个不同名字的 bucket 。
cbbackup 命令参数选项:
cbbackup [options] [source] [backup_dir]
要知道 cbbackup 不支持外部IP地址。如果你安装了Couchbase服务器使用默认的IP地址,不能使用外部主机访问它。
接下来是 cbbackup 可选参数:
下面选项是用来配置连接群集的用户和密码信息,备份类型和bucket 选项。
你可以使用一个或多个选项。主要的选项包括:
- --single-node
- 备份单节点
- --bucket-source or -b
- 备份特定名称的 bucket
接下来是 cbbackup 的必选参数:
数据源,本地数据目录参考或者是远程 节点/群集规范:
- 本地目录参考
- 本地目录规范是使用 `couchstore-files` 协议定义的 URL。举个栗子: couchstore-files:///opt/couchbase/var/lib/couchbase/data/default
-
使用这种方法,您只需在单个节点上备份指定 bucket 的数据。如果在群集上备份全部 bucket 数据 或是 备份单个节点上的所有数据,这时你必须使用群集节点规范。这种方法在 bucket 中定义的设计文档不支持。
- 群集 节点
- 这个一个节点或是群集中的一个节点,将 URL 指定为一个节点 或是 群集 服务。
举个栗子:
http://HOST:8091 // For distinction you can use the couchbase protocol prefix: couchbase://HOST:8091 // The administrator and password can also be combined with both forms of the URL for authentication. If you have named data buckets (other than the default bucket) that you want to backup, specify an administrative name and password for the bucket: couchbase://Administrator:password@HOST:8091
备份所有节点上的所有bucket
cbbackup http://HOST:8091 /backups/backup-20120501 \
-u Administrator -p password
[####################] 100.0% (231726/231718 msgs)
bucket: default, msgs transferred...
:
total | last | per sec
batch : 5298 | 5298 | 617.1
byte : 10247683 | 10247683 | 1193705.5
msg : 231726 | 231726 | 26992.7
done
[####################] 100.0% (11458/11458 msgs)
bucket: loggin, msgs transferred...
:
total | last | per sec
batch : 5943 | 5943 | 15731.0
byte : 11474121 | 11474121 | 30371673.5
msg : 84 | 84 | 643701.2
done
备份所有节点上的所有bucket
cbbackup http://HOST:8091 /backups/backup-20120501 \
-u Administrator -p password \
-b default
[####################] 100.0% (231726/231718 msgs)
bucket: default, msgs transferred...
: total | last | per sec
batch : 5294 | 5294 | 617.0
byte : 10247683 | 10247683 | 1194346.7
msg : 231726 | 231726 | 27007.2
done
备份单个节点 所有bucket
cbbackup http://HOST:8091 /backups/backup-20120501 \
-u Administrator -p password \
--single-node
备份单个节点 单个bucket
cbbackup http://HOST:8091 /backups/backup-20120501 \
-u Administrator -p password \
--single-node \
-b default
备份单个节点,单个bucket; 备份文件存储在同一台节点
ssh USER@HOST
remote-> sudo su - couchbase
remote-> cbbackup http://127.0.0.1:8091 /mnt/backup-20120501 \
-u Administrator -p password \
--single-node \
-b default
ssh USER@HOST
remote-> sudo su - couchbase
remote-> cbbackup couchstore-files:///opt/couchbase/var/lib/couchbase/data/default /mnt/backup-20120501
在备份的时候过滤 Keys
cbbackup http://HOST:8091 /backups/backup-20120501 \
-u Administrator -p password \
-b default \
-k '^object.*'
通过拷贝文件的形式进行备份
> cbbackup \
couchstore-files:///opt/couchbase/var/lib/couchbase/data/default \
/mnt/backup-20120501
使用 cp 命令实现同样的备份效果 :
> cp -R /opt/couchbase/var/lib/couchbase/data/default \
/mnt/copy-20120501