OpenClinica 用户手册/备份和恢复
备份您的 OpenClinica 设置是必须的。不仅如此:您还必须练习恢复备份。您知道为什么,所以请这样做。在发出这些严重警告之后:备份您的 OpenClinica 很简单!只需要备份两件事:您的数据库和您的研究文件。
在每个步骤中都进行备份,这样您就可以在出错时备份到更早的步骤(例如,一旦您输入了数据,就没有简单的方法可以删除该数据,或者在添加规则后删除规则)。
在以下这些点进行备份
- 空数据库
- 研究创建
- CRF
- 事件
- 规则
除了进行备份之外,请不要忘记记录如何配置研究。假设您一直在测试机器上工作,那么将研究移至生产环境时,您需要遵循本指南。该指南可以是一个电子表格,其中包含“创建研究”部分的配置详细信息,以及一个列表,列出事件、它们的配置和每个事件中的 CRF。
OpenClinica 网站包含一个用于 Windows 的 OpenClinica 备份脚本示例。
Postgres 带有一系列命令行实用程序,其中之一是 pg_dump。该实用程序会生成一个(庞大的)文本文件,其中包含重新创建您的 openclinica 数据库的命令,以及对所有表的插入操作。
假设您的数据库名为“openclinica”,您在 2010 年 7 月 14 日进行备份。在 Linux 中,您可以登录到您的服务器并输入
sudo -u postgres /usr/bin/pg_dump -U postgres openclinica > pg_dump_openclinica_20100714
语法很简单:pg_dump 后面是数据库的名称,然后是转储文件的名称。使此文件的名称尽可能具有描述性,因此不要只使用“OC”或“backup”,并且始终添加日期。作为最后一步,您必须将转储文件从服务器上移出并将其存储在安全的地方。我再说一遍:不要将其留在您的服务器上!
在 Windows 中执行类似操作的命令(您的路径可能会有所不同)
“C:\Program Files (x86)\PostgreSQL\8.4\bin\pg_dump.exe” --host localhost --port 5432 --username clinica --format custom --blobs --verbose --file C:\oc\backup\pg_dump_openclinica_20100714 openclinica
您所有的 XL 格式的 CRF、XML 规则文件、附加到 CRF 的文件以及生成的 数据集和元数据集都存储在 openclinica.data 目录中。该目录位于 /usr/local/tomcat/(或 Windows 中的 C:\oc\tomcat)中。要完全备份 OpenClinica,您应该将此目录备份到不同服务器上的安全位置。在 Linux 中,您可以使用一行命令将此目录打包成 tar 文件
tar -cvvf oc_data_20100714.tar /usr/local/tomcat/openclinica.data
在 Windows 中,您可以使用资源管理器复制该目录。
为了更进一步,您可以备份 webapps 中的应用程序目录。openclinica(或其他名称)目录位于 /usr/local/tomcat/webapps/(或 Windows 中的 C:\oc\tomcat\webapps\)中。
与其备份整个应用程序(webapps)目录(在使用过程中,整个目录通常不会更改),不如备份您可能更改的唯一文件 - 配置文件 datainfo.properties。通常,此文件中的信息在 OpenClinica 安装完成后不会发生太大变化。但是,如果发生崩溃,如果您有端口和邮件配置等设置,将会为您节省大量时间,因此在 Linux 中输入
tar -rf oc_data_20100714.tar /usr/local/tomcat/webapps/OpenClinica/WEB-INF/classes/datainfo.properties
如果您想将原始实例(例如 openclinica)恢复到不同名称的实例(例如 openclinica2),只需将数据恢复到不同名称的数据库(openclinica2),重命名数据目录(openclinica2.data)和 webapps 目录(openclinica2)。有关更多信息,请参阅多个实例页面(例如,在重新启动新实例之前,您可能需要修改日志目录,使其记录到与原始实例不同的目录中)。
只有在 OpenClinica 应用程序没有使用数据库时才能进行恢复。因此,必须暂时停止 OpenClinica 应用程序或 Tomcat。最简单的方法可能是使用管理页面停止特定应用程序(Tomcat 管理员操作指南)。或者,您可以停止 Tomcat 本身(在 Windows 中,可以通过 Windows 服务或Windows 命令行来完成)。
要恢复数据库,您必须删除现有的 openclinica 数据库,重新创建它,并“运行”转储文件。
在 Linux 中,您可以从命令行执行此操作
sudo -u postgres/usr/bin/psql drop database openclinica create database openclinica with encoding='UTF-8' owner=clinica;
然后退出 psql(\q)并转到转储文件所在的目录,并输入(作为 postgres 用户)
/usr/bin/psql openclinica < pg_dump_openclinica_20100714
此步骤将恢复您的数据库。
此过程也可以在 Windows 上使用 PGAdmin 客户端完成。
- 打开 PGAdmin,浏览到并右键单击 openclinica 数据库(对象浏览器,服务器,Postgres,数据库,openclinica),选择“属性”,然后选择“删除/删除”(或“属性”并更改名称,如果您想保留当前数据库)。
- 右键单击“数据库”,选择“新建数据库”,输入名称“openclinica”,然后单击“确定”。
- 右键单击新创建的 openclinica 数据库,选择“恢复”,找到备份文件并单击“确定”。
要创建一个新的空 OpenClinica 数据库,您可以跳过上述步骤中的最终恢复步骤。当 OpenClinica 启动时,它将在空数据库中创建一个新的数据库结构(包括重置管理员密码)。上传的文件也可以通过删除 openclinica.data 目录的内容来清除。
将数据目录恢复到 /usr/local/tomcat/(或 Windows 上的 C:\oc\tomcat)
将应用程序目录恢复到 /usr/local/tomcat/webapps/(或 C:\oc\tomcat\webapps\)