如何备份您的数据库OrientDB在Ubuntu 14.04

OrientDB是一个多模式的NoSQL数据库的图形和文档数据库的支持。一个OrientDB数据库可以使用备份脚本进行备份,也通过命令行界面,内置了用于使用ZIP算法备份文件压缩的​​支持。 在本文中,您将学习如何在Ubuntu 14.04服务器上备份OrientDB数据库。

介绍

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

OrientDB数据库可以使用备份脚本以及通过命令行界面进行备份,内置支持使用ZIP算法压缩备份文件。

默认情况下,备份一个OrientDB数据库是一个阻塞操作 - 写入数据库被锁定,直到备份操作结束,但如果操作系统安装在LVM分区方案上,备份脚本可以执行非阻塞备份。 LVM是Linux逻辑卷管理器。

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

先决条件

第1步 - 使用备份脚本备份OrientDB

OrientDB自带位于备份脚本bin的安装目录下的文件夹中。 如果您使用安装OrientDB 如何在Ubuntu 14.04安装和配置OrientDB ,那么安装目录是/opt/orientdb ,因此备份脚本backup.sh应该在/opt/orientdb/bin

在本教程中,创建一个backup安装目录下的文件夹来保存备份。 您也可以选择保存备份的databases文件夹,这是应用程序的数据目录。 在本教程中,我们将使用backup文件夹,所以创建backup目录:

sudo mkdir -p /opt/orientdb/backup

新创建的文件夹的所有者是root,所以让我们改变所有权,以便它是由orientdb用户所拥有。 不这样做将导致从命令行界面备份时出现错误,您将在第2步中学习如何完成:

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

有了这样的方式,导航至bin目录:

cd /opt/orientdb/bin

默认情况下,一个名为数据库GratefulDeadConcerts存在。 的内容清单databases目录将显示此默认数据库,并且已经创建的:

ls -l /opt/orientdb/databases

例如,下面示出了GratefulDeadConcerts数据库和一个称为eck

total 8
drwxr-xr-x 2 orientdb orientdb 4096 Oct 12 18:36 eck
drwxr-xr-x 2 orientdb orientdb 4096 Oct  4 06:30 GratefulDeadConcerts

在此步骤中,我们将使用备份脚本备份这两个数据库。 而在这两种情况下,我们将admin用户,其密码为admin执行操作。 要执行默认数据库的默认(阻止)备份,请键入:

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

对于第二个数据库,请键入:

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

验证是否已创建备份:

ls -lh ../backup

预期输出为:

total 236K
-rw-r--r-- 1 root root  17K Oct 13 08:48 eck.zip
-rw-r--r-- 1 root root 213K Oct 13 08:47 gfdc.zip

第2步 - 从控制台备份OrientDB

在此步骤中,我们将从控制台或命令行界面备份其中一个数据库。 要进入命令行界面,请键入:

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

输出应为:

OrientDB console v.2.1.3 (build UNKNOWN@r; 2015-10-04 10:56:30+0000) www.orientdb.com
Type 'help' to display all the supported commands.
Installing extensions for GREMLIN language v.2.6.0

orientdb>

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

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

你应该看到这样的输出:

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

现在,执行数据库的阻塞备份到我们在第1步中创建的相同的备份目录:

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

你应该看到这样的输出:

Backuping current database to: database /opt/orientdb/backup/eckconsole.zip...

- Compressing file name_id_map.cm...ok size=912b compressedSize=250 ratio=73% elapsed=1ms
- Compressing file e.pcl...ok size=65.00KB compressedSize=121 ratio=100% elapsed=13ms

...


- Compressing file orids.cpm...ok size=1024b compressedSize=15 ratio=99% elapsed=1ms
- Compressing file internal.pcl...ok size=129.00KB compressedSize=9115 ratio=94% elapsed=9ms
Backup executed in 0.33 seconds

退出OrientDB数据库提示:

exit

确认备份到位:

ls -lh ../backup

输出应类似于:

total 256K
-rw-r--r-- 1 orientdb orientdb  17K Oct 13 10:39 eckconsole.zip
-rw-r--r-- 1 orientdb orientdb  17K Oct 13 08:48 eck.zip
-rw-r--r-- 1 orientdb orientdb 213K Oct 13 08:47 gfdc.zip

第3步 - 自动备份OrientDB

OrientDB具有自动备份功能,但它默认关闭。 在此步骤中,我们将启用它,以便每天备份数据库。 自动备份的参数必须在配置文件中进行调整,因此请打开它:

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

滚动至=“com.orientechnologies.orient.server.handler.OAutomaticBackup”handler元素。 启用后,其他默认设置将以每4小时为间隔在23:00:00 GMT设置自动备份。 使用下面显示的设置,自动备份将同时进行,但每天只有一次。

出于测试目的,您可以调整firsttime参数根据自己的喜好:


<handler class="com.orientechnologies.orient.server.handler.OAutomaticBackup">
<parameters>
<parameter value="true" name="enabled"/>
<parameter value="24h" name="delay"/>
<parameter value="23:00:00" name="firstTime"/>
<parameter value="backup" name="target.directory"/>
<parameter value="${DBNAME}-${DATE:yyyyMMddHHmmss}.zip" name="target.fileName"/>
<parameter value="9" name="compressionLevel"/>
<parameter value="1048576" name="bufferSize"/>
<parameter value="" name="db.include"/>
<parameter value="" name="db.exclude"/>
</parameters>
</handler>

完成调整设置后,保存并关闭文件。 要应用更改,请停止守护程序:

sudo service orientdb stop

然后重新启动它:

sudo service orientdb start

在设定的时间后,验证它的工作通过寻找新backup目录:

ls -lh /opt/orientdb/bin/backup

输出应类似于:

total 236K
-rw-r--r-- 1 orientdb orientdb  17K Oct 13 16:00 eck-20151013160001.zip
-rw-r--r-- 1 orientdb orientdb 213K Oct 13 16:00 gratefulnotdead-20151013160002.zip

开箱即用,默认数据库GratefulDeadConcert不会被自动备份工具备份,因此,如果你没有看到它上市,这是一个特点。

结论

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