GNU Health/控制中心
GNU Health 控制中心 (gnuhealth-control) 是 GNU Health 环境 的主要管理工具。
它可以执行实例的备份和更新,并且可以非交互式使用(例如,作为 cron 作业)。我们建议使用 gnuhealth-control 执行管理任务,因为它还会创建一个日志文件,该文件在出现问题时非常有用。
GNU Health 控制中心位于服务器的 UTIL 目录中。
usage: gnuhealth-control command [options]
Command:
version : Show version
backup : Backup the gnuhealth kernel, attach dir and database
update : Download and install the patches
getlang : Get and install / update the language pack code
status : Show environment and GNU Health HMIS server status
Options:
--backdir : destination directory for the backup file
--dry-run : Check, download and preview, but don't actually run the update process
--database : database name to use with the backup command
使用 gnuhealth-control 执行备份时,应用程序会执行以下任务
- 执行数据库备份。
- 执行 gnuhealth 用户的 $HOME 目录的备份,因此它存储内核、rc 文件、模块和附件目录。
要执行备份,请使用数据库名称和要存储备份的目标目录调用 gnuhealth-control 实用程序。
./gnuhealth-control backup --backdir <directory> --database <dbname>
GNU Health 控制备份命令在目标备份目录中创建两个文件
- 压缩的数据库转储:格式为:*backup_db-name_timestamp.gz*
- GNU Health 的数据库和文件系统。
当 gnuhealth-control 使用 update 命令调用时,它将更新同一主版本号内的 GNU Health 组件。以下组件将被检查并在必要时更新
- Trytond:Tryton 服务器版本
- 官方 GNU Health 安装中包含的标准 Tryton 模块
- 要应用于默认 Tryton 内核的安全建议
- GNU Health 修补程序集(有关更多信息,请参阅 修补程序和修补程序集)
这将适用于具有相同主版本号和次版本号的版本,例如 3.0.x 将查找与该版本关联的最新 Tryton 更新和 GNU Health 更新。
您可以通过运行干运行更新来检查 Tryton 和 GNU Health 服务器上的状态。使用 --dry-run 选项调用 update 命令只会检查您的服务器是否需要更新,而不会进行任何更改。
./gnuhealth-control update --dry-run
在开始更新之前,停止您的 GNU Health 实例并进行完整备份 |
主要步骤是
- 停止实例并进行备份
- 使用 gnuhealth-control 工具运行内核更新
- 更新数据库
停止实例并进行完整脱机备份后,您就可以执行实际更新。
使用 **gnuhealth 用户**,执行以下命令。它将下载所有 Tryton 和 GNU Health 修补程序,并在其后重新加载 bash 环境变量。
cdutil
./gnuhealth-control update && source $HOME/.gnuhealthrc
最后,更新您的数据库
cdexe
./trytond-admin --all --database=name_of_your_db
如果一切顺利,您就已更新到最新的 Tryton 和 GNU Health 修补程序集!现在您可以重新启动服务器。
您可以在 GNU ftp://ftp.gnu.org/gnu/health 获得最新版本的 GNU Health 控制中心
GNU Health 控制中心允许您恢复完整的 GNU Health 实例,包括数据库和文件系统。当然,要执行恢复,您需要有一个备份。我将专注于使用 GNU Health 控制中心完成的备份。
要恢复数据库,请使用“gnuhealth”操作系统用户连接,并更改到数据库备份所在的目录。
1) **创建一个新的数据库**
$ createdb your_db_name
2) **解压缩使用 GNU Health 控制中心生成的数据库转储**
$ gunzip backup_db-name_timestamp.gz
3) **使用 psql 恢复数据库**
$ psql your_db_name < backup_db-name_timestamp