自动备份插件
Java类实现:
com.orientechnologies.orient.server.handler.OAutomaticBackup
介绍
这个插件执行数据库的定时备份。插件的配置文件为orientdb-server-config.xml
:
<!-- AUTOMATIC BACKUP, TO TURN ON SET THE 'ENABLED' PARAMETER TO 'true' -->
<handler class="com.orientechnologies.orient.server.handler.OAutomaticBackup">
<parameters>
<parameter name="enabled" value="false"/>
<!-- LOCATION OF JSON CONFIGURATION FILE -->
<parameter name="config" value="${ORIENTDB_HOME}/config/automatic-backup.json"/>
</parameters>
</handler>
从2.2版本开始,插件的配置放在单独的文件config/automatic-backup.json
中,可以通过工具平台修改。默认的内容为:
{
"enabled": true,
"mode": "FULL_BACKUP",
"exportOptions": "",
"delay": "4h",
"firstTime": "23:00:00",
"targetDirectory": "backup",
"targetFileName": "${DBNAME}-${DATE:yyyyMMddHHmmss}.zip",
"compressionLevel": 9,
"bufferSize": 1048576
}
参数:
- enabled: true开启, false (默认)关闭
- mode: 取值如下(2.2版本生效):
- FULL_BACKUP (默认), 执行全量备份。2.2版本之前,这是唯一的选项,操作会锁库
- INCREMENTAL_BACKUP, 执行增量备份。每个数据库使用一个目录,操作不会锁库。
- EXPORT, 以gzip压缩的JSON格式导出数据库,操作不会锁库。
- exportOptions: 导出模式的选项(2.2版本生效)
- delay: 延迟时间。可以使用不同的后缀指定不同的策略:
- ms 毫秒
- s 秒
- m 分钟
- h 小时
- d 天
- firstTime 第一次备份的时间。相对今天的时间,格式为:
HH:mm:ss
。 - targetDirectory: 备份目录,默认是"backup"
- targetFileName: 备份文件名,可以通过
${}
之间的变量进行配置:${DBNAME}
, 数据库名称${DATE}
, 当前日期,遵循语法Java DateTime syntax
- dbInclude: 包含的数据库列表。空代表所有数据库。
- dbExclude: 排除的数据库列表
- bufferSize: 压缩时使用的内存缓冲区大小。默认1MB。越大备份越快,也意味着占用更多的内存(1.7版本以后)
- compressionLevel: 目标ZIP文件的压缩级别。默认是9。值越低,备份越慢。(1.7版本以后)
低于2.2版本
2.2版本之前,可以直接在xml中修改插件的配置服务器插件 orientdb-server-config.xml默认的配置如下:
<!-- AUTOMATIC BACKUP, TO TURN ON SET THE 'ENABLED' PARAMETER TO 'true' -->
<handler class="com.orientechnologies.orient.server.handler.OAutomaticBackup">
<parameters>
<parameter name="enabled" value="false" />
<!-- CAN BE: FULL_BACKUP, INCREMENTAL_BACKUP, EXPORT -->
<parameter name="mode" value="FULL_BACKUP"/>
<!-- OPTION FOR EXPORT -->
<parameter name="exportOptions" value=""/>
<parameter name="delay" value="4h" />
<parameter name="target.directory" value="backup" />
<!-- ${DBNAME} AND ${DATE:} VARIABLES ARE SUPPORTED -->
<parameter name="target.fileName" value="${DBNAME}-${DATE:yyyyMMddHHmmss}.zip" />
<!-- DEFAULT: NO ONE, THAT MEANS ALL DATABASES. USE COMMA TO SEPARATE MULTIPLE DATABASE NAMES -->
<parameter name="db.include" value="" />
<!-- DEFAULT: NO ONE, THAT MEANS ALL DATABASES. USE COMMA TO SEPARATE MULTIPLE DATABASE NAMES -->
<parameter name="db.exclude" value="" />
<parameter name="compressionLevel" value="9"/>
<parameter name="bufferSize" value="1048576"/>
</parameters>
</handler>