Ubuntu备份Bitnami Redmine

来自DeerGrove Wiki
Aker讨论 | 贡献2020年10月16日 (五) 14:49的版本 (创建页面,内容为“category:IS =redmine的完整备份与恢复= == 备份== * Bitnami的Redmine本身就是自包含的,可以很简单地进行全备份。操作如下: # 进…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索


redmine的完整备份与恢复

备份

  • Bitnami的Redmine本身就是自包含的,可以很简单地进行全备份。操作如下:
  1. 进入备份数据要存放的目录
    • $ cd /your/folder
  2. 停掉所有服务
    • $ sudo /opt/bitnami/ctlscript.sh stop
  3. 创建备份文件
    • $ sudo tar -pczvf application-backup.tar.gz /opt/bitnami
  4. 重启所有服务
    • $ sudo /opt/bitnami/ctlscript.sh start
  5. 将备份文件application-backup.tar.gz存放到安全的地方。

恢复

  • Bitnami的redmine是自包含的,只需解压备份文件即可,操作如下:
  1. 进入备份数据存放的目录
    • $ cd /your/folder
  2. 停止所有服务
    • $ sudo /opt/bitnami/ctlscript.sh stop
  3. 重命名原目录并存储
    • $ sudo mv /opt/bitnami /opt/bitnamiBackup
  4. 解压备份文件到原目录
    • $ sudo tar -pxzvf application-backup.tar.gz -C /
  5. 启动所有服务
    • $ sudo /opt/bitnami/ctlscript.sh start
  • IMPORTANT:

When restoring, remember to maintain the original permissions for the files and folders. For example, if you originally installed the stack as 'root', make sure that the restored files are owned by 'root'.

如果只想备份数据库,则可以用下面的操作。

数据库备份与恢复

  1. 数据库备份,如果只想备份数据库的数据,则可以使用 "mysqldump"工具来创建数据库的备份文件
    • $ mysqldump -u root -p database_name > backup.sql
    • 这个操作依赖于数据的大小,可能要耗费些时间。
    • database_name: 是你想备份的数据库。例如,如果你想备份WordPress数据库,那么数据库的名字就是"bitnami_wordpress".
  2. 数据库恢复,如果有数据库备份文件,就可以做恢复了。
    • $ mysql -u root -p database_name < backup.sql
  3. If you want to restore the database and the database schema does not exist, it is necessary to first follow the steps described below.
    1. As a side note, you can find the value for BITNAMI_USER_PASSWORD
    2. below in the application configuration file.
    3. This depends on the application and you can find this information in the application page itself.
      • $ mysql -u root -p
      • mysql> create database database_name;
      • mysql> grant all privileges on database_name.* to 'bitnami'@'localhost' identified by 'BITNAMI_USER_PASSWORD';
      • mysql> flush privileges;
      • mysql> exit;
      • $ mysql -u root -p database_name < backup.sql

NOTE : the steps previously described will only back up the state of your database. Other files that you should take into account when performing a backup are files that have been uploaded to theapplication. These files are stored in the application folder itslef so you can copy this folder to have a backup of your uploaded files.

Redmine升级

It is strongly recommended that you create a backup before starting the update process. If you have important data, it is advisable that you create and try to restore a backup to ensure that everything works properly. You can get more info about how to create a full backup here. Of course, before executing any command, you have to start the bitnami_console script or the shortcut on Windows before typing the following commands. There are two different ways to upgrade your application.

If you want to upgrade the application and all Stack components PHP, Ruby, MySQL, Apache… You can follow the steps described at How to upgrade the full Stack migrating the data? In case you only want to upgrade the application code without modifying any other Stack components. You can find below the steps to upgrade only the Redmine application. In the Redmine case, these are the steps to migrate the database from an old version to a new one. You can launch a new Redmine version instance or download the latest Redmine installer from http://bitnami.com/stack/redmine. Note this guide uses "/opt/bitnami" as the default installation directory, you can use a different one if you have installed it in a different folder. Copy the database backup to the new Bitnami version server. Stop all servers and start only MySQL. Note that the installation directory could be different. This is the default installation directory for Virtual Machines and Cloud images. $ sudo /opt/bitnami/ctlscript.sh stop $ sudo /opt/bitnami/ctlscript.sh start mysql

Remove the previous database and create the new one. You can configure the database user password with a secure password. $ mysql -u root -p Password: **** mysql> drop database bitnami_redmine; mysql> create database bitnami_redmine; mysql> grant all privileges on bitnami_redmine.* to 'bn_redmine'@'localhost' identified by 'DATABASE_PASSWORD';

Restore the new database: $ mysql -u root -p bitnami_redmine < backup.sql Edit the Redmine configuration file to update the database user password (the same that you set previously) "/opt/bitnami/apps/redmine/htdocs/config/database.yml" production:

 adapter: mysql2
 database: bitnami_redmine
 host: localhost
 username: bn_redmine
 password: "DATABASE_PASSWORD"
 encoding: utf8

Migrate the database to the latest version: $ cd /opt/bitnami/apps/redmine/htdocs $ ruby bin/rake db:migrate RAILS_ENV=production

Troubleshooting: If you see the following error, go to your database and remove the specified table and run the migrate command again. Mysql::Error: Table 'changeset_parents' already exists: CREATE TABLE `changeset_parents` (`changeset_id` int(11) NOT NULL, `parent_id` int(11) NOT NULL) ENGINE=InnoDB $ mysql -u root -p mysql> use bitnami_redmine; mysql> drop table changeset_parents;

Copy the ""/opt/bitnami/apps/redmine/htdocs/files" folder from the old installation to the new one. If you have installed plugins in the previous version, copy the folders from "vendor/plugins" directory into new installation directory, in "plugins" folder. Check the plugins also support this new version and run the following command $ ruby bin/rake redmine:plugins RAILS_ENV="production"

Finally you should clean the cache and the sessions: $ ruby bin/rake tmp:cache:clear $ ruby bin/rake tmp:sessions:clear

Restart the servers and you can access to your new Redmine. $ sudo /opt/bitnami/ctlscript.sh restart

Troubleshooting: If you upgrade it from a 1.x version and you see something similar to this error creating an issue: MysqlStatement::Error Value for field `value` cannot be NULL INSERT INTO custom_value ... Go to your custom values in the admin panel, try to edit and save them again. That should fix the issue.