差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 | |||
is:linux:ubuntu备份bitnami-redmine [2025/02/17 04:27] – 移除 - 外部编辑 (未知日期) 127.0.0.1 | is:linux:ubuntu备份bitnami-redmine [2025/02/17 04:27] (当前版本) – ↷ 页面is:ubuntu备份bitnami-redmine被移动至is:linux:ubuntu备份bitnami-redmine A.L | ||
---|---|---|---|
行 1: | 行 1: | ||
+ | [[category: | ||
+ | ===== Redmine 的完整备份与恢复 ===== | ||
+ | |||
+ | === 备份 === | ||
+ | * Bitnami 的 Redmine 是自包含的,可以简单地进行全备份。操作如下: | ||
+ | - 进入备份数据存放的目录: | ||
+ | ```bash | ||
+ | cd / | ||
+ | ``` | ||
+ | - 停止所有服务: | ||
+ | ```bash | ||
+ | sudo / | ||
+ | ``` | ||
+ | - 创建备份文件: | ||
+ | ```bash | ||
+ | sudo tar -pczvf application-backup.tar.gz / | ||
+ | ``` | ||
+ | - 重启所有服务: | ||
+ | ```bash | ||
+ | sudo / | ||
+ | ``` | ||
+ | - 将备份文件 `application-backup.tar.gz` 存放到安全的地方。 | ||
+ | |||
+ | === 恢复 === | ||
+ | * Bitnami 的 Redmine 是自包含的,只需解压备份文件即可。操作如下: | ||
+ | - 进入备份数据存放的目录: | ||
+ | ```bash | ||
+ | cd / | ||
+ | ``` | ||
+ | - 停止所有服务: | ||
+ | ```bash | ||
+ | sudo / | ||
+ | ``` | ||
+ | - 重命名原目录并存储: | ||
+ | ```bash | ||
+ | sudo mv / | ||
+ | ``` | ||
+ | - 解压备份文件到原目录: | ||
+ | ```bash | ||
+ | sudo tar -pxzvf application-backup.tar.gz -C / | ||
+ | ``` | ||
+ | - 启动所有服务: | ||
+ | ```bash | ||
+ | sudo / | ||
+ | ``` | ||
+ | * **重要提示**: | ||
+ | - 恢复时,请确保文件和目录的原始权限保持不变。 | ||
+ | - 例如,如果最初是以 `root` 用户安装的,请确保恢复的文件归 `root` 所有。 | ||
+ | |||
+ | ===== 数据库备份与恢复 ===== | ||
+ | * **数据库备份**: | ||
+ | - 如果只想备份数据库数据,可以使用 `mysqldump` 工具创建备份文件: | ||
+ | ```bash | ||
+ | mysqldump -u root -p database_name > backup.sql | ||
+ | ``` | ||
+ | - 此操作耗时取决于数据大小。 | ||
+ | - `database_name` 是你要备份的数据库名称。例如,Redmine 的数据库名称可能是 `bitnami_redmine`。 | ||
+ | |||
+ | * **数据库恢复**: | ||
+ | - 如果有数据库备份文件,可以执行以下命令恢复: | ||
+ | ```bash | ||
+ | mysql -u root -p database_name < backup.sql | ||
+ | ``` | ||
+ | - 如果数据库架构不存在,请先执行以下步骤: | ||
+ | ```bash | ||
+ | mysql -u root -p | ||
+ | mysql> create database database_name; | ||
+ | mysql> grant all privileges on database_name.* to ' | ||
+ | mysql> flush privileges; | ||
+ | mysql> exit; | ||
+ | mysql -u root -p database_name < backup.sql | ||
+ | ``` | ||
+ | |||
+ | * **注意**: | ||
+ | - 上述步骤仅备份数据库状态。 | ||
+ | - 其他需要备份的文件包括应用程序上传的文件,这些文件通常存储在应用程序目录中。 | ||
+ | |||
+ | ===== Redmine 升级 ===== | ||
+ | * **强烈建议**在升级前创建备份。 | ||
+ | * 有两种升级方式: | ||
+ | 1. **升级整个堆栈**(包括 PHP、Ruby、MySQL、Apache 等): | ||
+ | - 参考 [如何升级完整堆栈并迁移数据](https:// | ||
+ | 2. **仅升级应用程序代码**: | ||
+ | - 以下是仅升级 Redmine 应用程序的步骤。 | ||
+ | |||
+ | * **升级步骤**: | ||
+ | - 启动新的 Redmine 实例或从 [Bitnami](http:// | ||
+ | - 将数据库备份复制到新服务器。 | ||
+ | - 停止所有服务并仅启动 MySQL: | ||
+ | ```bash | ||
+ | sudo / | ||
+ | sudo / | ||
+ | ``` | ||
+ | - 删除旧数据库并创建新数据库: | ||
+ | ```bash | ||
+ | mysql -u root -p | ||
+ | mysql> drop database bitnami_redmine; | ||
+ | mysql> create database bitnami_redmine; | ||
+ | mysql> grant all privileges on bitnami_redmine.* to ' | ||
+ | ``` | ||
+ | - 恢复数据库: | ||
+ | ```bash | ||
+ | mysql -u root -p bitnami_redmine < backup.sql | ||
+ | ``` | ||
+ | - 编辑 Redmine 配置文件以更新数据库用户密码: | ||
+ | ```yaml | ||
+ | production: | ||
+ | adapter: mysql2 | ||
+ | database: bitnami_redmine | ||
+ | host: localhost | ||
+ | username: bn_redmine | ||
+ | password: " | ||
+ | encoding: utf8 | ||
+ | ``` | ||
+ | - 迁移数据库到最新版本: | ||
+ | ```bash | ||
+ | cd / | ||
+ | ruby bin/rake db:migrate RAILS_ENV=production | ||
+ | ``` | ||
+ | - **故障排除**: | ||
+ | - 如果出现表已存在的错误,删除表并重新运行迁移命令: | ||
+ | ```bash | ||
+ | mysql -u root -p | ||
+ | mysql> use bitnami_redmine; | ||
+ | mysql> drop table changeset_parents; | ||
+ | ``` | ||
+ | |||
+ | * **复制文件和插件**: | ||
+ | - 将旧安装中的 `/ | ||
+ | - 如果旧版本安装了插件,将 `vendor/ | ||
+ | - 检查插件是否支持新版本,并运行以下命令: | ||
+ | ```bash | ||
+ | ruby bin/rake redmine: | ||
+ | ``` | ||
+ | |||
+ | * **清理缓存和会话**: | ||
+ | ```bash | ||
+ | ruby bin/rake tmp: | ||
+ | ruby bin/rake tmp: | ||
+ | ``` | ||
+ | |||
+ | * **重启服务**: | ||
+ | ```bash | ||
+ | sudo / | ||
+ | ``` | ||
+ | |||
+ | * **故障排除**: | ||
+ | - 如果从 1.x 版本升级并遇到创建问题时出现错误: | ||
+ | ```plaintext | ||
+ | MysqlStatement:: | ||
+ | ``` | ||
+ | 请到管理面板中编辑并重新保存自定义值。 |