自动备份插件

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: 备份文件名,可以通过${}之间的变量进行配置:
  • 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>