如何在 Ubuntu 14.04 上备份 OrientDB 数据库

介绍

OrientDB是一个多模型的NoSQL数据库,支持图形和文档数据库,它是一个Java应用程序,可以在任何操作系统上运行;它也完全支持ACID,支持多大师复制。

OrientDB 数据库可以使用备份脚本进行备份,还可以通过命令行接口进行备份,并支持使用 ZIP 算法对备份文件进行压缩。

默认情况下,备份 OrientDB 数据库是一种阻止操作 - 将数据库作为数据库被锁定到备份操作的结束,但如果操作系统安装在 LVM 分区方案上,备份脚本可以执行非阻止备份 LVM 是 Linux Logical Volume Manager。

在本文中,您将学习如何在Ubuntu 14.04服务器上备份您的OrientDB数据库。

前提条件

  • Ubuntu 14.04 服务器(见 初始服务器设置与 Ubuntu 14.04) * OrientDB 安装和配置使用 [如何在 Ubuntu 14.04 上安装和配置 OrientDB 」(https://andsky.com/tech/tutorials/how-to-install-and-configure-orientdb-on-ubuntu-14-04)

步骤 1 — 使用备份脚本备份 OrientDB

如果你安装了 OrientDB 使用 如何在 Ubuntu 14.04 上安装和配置 OrientDB,那么安装目录是 /opt/orientdb,因此备份脚本 backup.sh应该在 /opt/orientdb/bin

对于本教程,在安装目录下创建一个备份文件夹,以保留备份。您也可以选择将备份保存到数据库文件夹中,这是应用程序的数据目录。

1sudo mkdir -p /opt/orientdb/backup

新创建的文件夹由 root 拥有,所以让我们更改所有权以使其属于 orientdb 用户。

1sudo chown -R orientdb:orientdb /opt/orientdb/backup

有了这个出路,导航到bin目录:

1cd /opt/orientdb/bin

默认情况下,存在一个名为GracefulDeadConcerts的数据库.列出databases目录的内容会显示此默认数据库和您创建的任何数据库:

1ls -l /opt/orientdb/databases

例如,以下显示了‘GratefulDeadConcerts’数据库和一个名为‘eck’的数据库:

1[secondary_label Output]
2total 8
3drwxr-xr-x 2 orientdb orientdb 4096 Oct 12 18:36 eck
4drwxr-xr-x 2 orientdb orientdb 4096 Oct 4 06:30 GratefulDeadConcerts

在此步骤中,我们将使用备份脚本备份两个数据库,在这两种情况下,我们将作为 admin 用户执行操作,其密码也是** admin** 。

1sudo ./backup.sh plocal:../databases/GratefulDeadConcerts admin admin ../backup/gfdc.zip

对于第二个数据库,类型:

1sudo ./backup.sh plocal:../databases/eck admin admin ../backup/eck.zip

检查是否创建了备份:

1ls -lh ../backup

预计产量是:

1[secondary_label Output]
2total 236K
3-rw-r--r-- 1 root root 17K Oct 13 08:48 eck.zip
4-rw-r--r-- 1 root root 213K Oct 13 08:47 gfdc.zip

步骤 2 — 从控制台中备份 OrientDB

在此步骤中,我们将从控制台或命令行接口备份数据库之一。

1sudo -u orientdb /opt/orientdb/bin/console.sh

产量应该是:

1[secondary_label Output]
2OrientDB console v.2.1.3 (build UNKNOWN@r; 2015-10-04 10:56:30+0000) www.orientdb.com
3Type 'help' to display all the supported commands.
4Installing extensions for GREMLIN language v.2.6.0
5
6orientdb>

接下来,连接到数据库. 在这里,我们使用数据库的默认用户 admin 和其密码** admin** 连接。

1connect plocal:/opt/orientdb/databases/eck admin admin

你应该看到这样的输出:

1[secondary_label Output]
2Disconnecting from the database [null]...OK
3Connecting to database [plocal:/opt/orientdb/databases/eck] with user 'admin'...OK
4orientdb {db=eck}>

现在,将数据库的封锁备份执行到我们在步骤 1 中创建的相同的备份目录中:

1backup database /opt/orientdb/backup/eckconsole.zip

你应该看到这样的输出:

 1[secondary_label Output]
 2Backuping current database to: database /opt/orientdb/backup/eckconsole.zip...
 3
 4- Compressing file name_id_map.cm...ok size=912b compressedSize=250 ratio=73% elapsed=1ms
 5- Compressing file e.pcl...ok size=65.00KB compressedSize=121 ratio=100% elapsed=13ms
 6
 7...
 8
 9- Compressing file orids.cpm...ok size=1024b compressedSize=15 ratio=99% elapsed=1ms
10- Compressing file internal.pcl...ok size=129.00KB compressedSize=9115 ratio=94% elapsed=9ms
11Backup executed in 0.33 seconds

退出 OrientDB 数据库提示:

1exit

确认备份已在位置:

1ls -lh ../backup

输出应该类似于此:

1[secondary_label Output]
2total 256K
3-rw-r--r-- 1 orientdb orientdb 17K Oct 13 10:39 eckconsole.zip
4-rw-r--r-- 1 orientdb orientdb 17K Oct 13 08:48 eck.zip
5-rw-r--r-- 1 orientdb orientdb 213K Oct 13 08:47 gfdc.zip

第3步:自动备份 OrientDB

OrientDB 具有自动备份功能,但默认情况下已关闭. 在此步骤中,我们将启用它,以便数据库每天备份。

1sudo nano /opt/orientdb/config/orientdb-server-config.xml

滚动到 handler 元素中以** class="com.orientechnologies.orient.server.OAutomaticBackup"** 。当启用时,其他默认设置将自动备份设置为每隔 4 小时 23:00 GMT 进行。

为了测试,您可以根据自己的喜好调整 firsttime 参数:

 1[secondary_label /opt/orientdb/config/orientdb-server-config.xml]
 2
 3<handler class="com.orientechnologies.orient.server.handler.OAutomaticBackup">
 4<parameters>
 5<parameter value="true" name="enabled"/>
 6<parameter value="24h" name="delay"/>
 7<parameter value="23:00:00" name="firstTime"/>
 8<parameter value="backup" name="target.directory"/>
 9<parameter value="${DBNAME}-${DATE:yyyyMMddHHmmss}.zip" name="target.fileName"/>
10<parameter value="9" name="compressionLevel"/>
11<parameter value="1048576" name="bufferSize"/>
12<parameter value="" name="db.include"/>
13<parameter value="" name="db.exclude"/>
14</parameters>
15</handler>

当您完成调整设置后,保存并关闭文件。

1sudo service orientdb stop

然后重新启动:

1sudo service orientdb start

设置时间后,通过查看新的备份目录来验证它是否工作:

1ls -lh /opt/orientdb/bin/backup

结果应该是这样的:

1[secondary_label Output]
2total 236K
3-rw-r--r-- 1 orientdb orientdb 17K Oct 13 16:00 eck-20151013160001.zip
4-rw-r--r-- 1 orientdb orientdb 213K Oct 13 16:00 gratefulnotdead-20151013160002.zip

窗口外,默认数据库GratefulDeadConcert不是由自动备份工具备份的,所以如果你看不到它列出的,这是一个功能。

结论

您刚刚了解了所有可用于备份 OrientDB 数据库的非编程步骤. 有关此主题的更多信息,请访问 官方指南

Published At
Categories with 技术
Tagged with
comments powered by Disqus