下午将 Redmine 迁移到另一台主机,记录一下
先说一下备份还原 mysql 数据库的命令 备份 mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql 还原 mysql -hhostname -uusername -ppassword databasename < backupfile.sql -h 后是主机名,可以省略不写 -u 后是用户名 -p 后是密码 databasename 是数据库名 需切换到 mysql 安装程序的路径下执行,如环境变量有问题,可在执行前,备份还原前,执行 Redmine 的 setenv.sh(在 Redmine 安装路径的 scripts 目录中) 数据库名和数据库访问用户名口令,可在 Redmine 安装配置文件 database.yml 中获取:redmine 安装路径/apps/redmine/htdocs/config
production: adapter: mysql2 database: bitnami_redmine host: localhost socket: /opt/bitnami/mysql/tmp/mysql.sock port: 3306 username: xxx password: "xxx" encoding: utf8
将原 Redmine 安装环境下,文件附件保存目录:redmine 安装路径/apps/redmine/htdocs/files 下的所有文件打包;在新 Redmine 环境中,解压拷贝到相同目录中
将原 Redmine 安装环境下,插件目录:redmine 安装路径/apps/redmine/htdocs/plugins 下的所有文件打包;在新 Redmine 环境中,解压拷贝到相同目录中 修改 redmine 安装路径/apps/redmine/redmineini.sh 脚本,创建迁移初始化脚本
cp redmineini.sh redmine.qianyi.sh
编辑 redmine.qianyi.sh 脚本
#!/bin/sh
. /home/bitnami/redmine-2.2.2-0/scripts/setenv.sh
cd /home/bitnami/redmine-2.2.2-0/apps/redmine/htdocs
bundle install --local --without development test postgresql sqlite --binstubs
#新增脚本############################################################
rake generate_secret_token
rake db:migrate RAILS_ENV="production"
rake redmine:plugins:migrate RAILS_ENV=production
rake tmp:cache:clear
rake tmp:sessions:clear
#############################################################
echo zh | rake redmine:load_default_data RAILS_ENV="production"
搞定,重启 Redmine 服务,收工。
以上为实际操作过程,不出意外,都可以成功的!