Bitnami?Redmine的備份分2種方式:
1.導出數據庫
2.整個目錄搬家
不管是哪種都想停掉服務,redmine相關的服務有以下5個:
redmineApache redmineMySQL redmineSubversion redmineThin1 redmineThin2 |
可以打開windows服務控制面板,然后停掉上面的5個服務,或者去BitNami Redmine的安裝目錄,雙擊use_redmine.bat,然后在彈出的控制臺種輸入:
servicerun.bat? STOP |
1. 導出數據庫的方式
然后啟動redmineMySQL,這是因為我們要使用redminesql,其實如果上面步驟中,如果你是在windows服務控制面板種手動停服務,
你可以停掉其他4個服務,而保留redminesql服務。
雙擊use_redmine.bat,在彈出的命令行窗口種輸入:
mysqldump -u root -p bitnami_redmine > backup.sql |
?
這樣整個redmine系統的數據都會被備份到backup.sql數據庫文件中了,這個文件就在redmine的根目錄下面。
注意這里root的密碼和你admin的密碼是一樣的。
備份
1、備份數據庫 mysqldump -u root -p bitnami_redmine > backup.sql
2、備份附件 apps\redmine\htdocs\files
3、備份配置文件?
apps\redmine\htdocs\config\database.yml
apps\redmine\htdocs\config\configuration.yml
還原
1、覆蓋文件 apps\redmine\htdocs\files?
2、覆蓋文件 apps\redmine\htdocs\config\database.yml
apps\redmine\htdocs\config\configuration.yml
3、還原數據庫
本地如果安裝了mysql,mysql默認3306,但是 redmine的端口是3307,使用 navicat 是能連接上的
數據庫名:bitnami_redmine?
可以使用 nativact 備份數據庫。還原數據庫。
?
2. 整個目錄搬家
停掉所有服務后,拷貝整個BitNami Redmine Stack目錄到新的服務器。
注意這種方式下,redmine在新的服務器上的路徑一定要和舊服務器上的路徑一致,例如:舊的安裝在,c:\program files\BitNami Redmine Stack
那么你一定需要將BitNami Redmine Stack拷貝到新服務器的c:\program files目錄下面。
然后雙擊use_redmine.bat,在彈出的命令行窗口種輸入:
serviceinstall.bat? INSTALL |
如果成功的話,你去看看上面列出的服務都為啟動狀態。
這樣就完成了redmine的備份了。
-------------------------------------------------------------------------------------------------------------------------
Linux備份:
1. 準備工作Ruby?gem依賴包及數據庫都做好了,開始真正配置Redmine的安裝:
配置Redmine數據連接
Copy config/database.yml.example config/database.yml Vim config/database.yml production: adapter: mysql2? ?//如果用的Ruby是1.9版本,一定要寫mysql2 database: redmine host: localhost username: redmine password: my_password |
?
注:官方原文提示MySQL?database using ruby1.9 (adapter must be set to mysql2)? 請注意,我開始沒注意,后面rake時,老是提示數據庫adapter沒有安裝。
創建sessin存儲腳本
rake generate_secret_token
會產生config/initializers/secret_token.rb
創建數據庫結構:[root@redmine redmine-2.0.0]# RAILS_ENV=production rake db:migrate
rake aborted!
Please install the mysq2 adapter: `gem install activerecord-mysq2-adapter` (cannot load such file -- active_record/connection_adapters/mysq2_adapter)
解決辦法:
gem uninstall mysql2 gem install mysql2 -v"0.3.11" [root@redmine redmine-2.0.0]# RAILS_ENV=production rake db:migrate rake aborted! Please install the mysq2 adapter: `gem install activerecord-mysq2-adapter` (cannot load such file -- active_record/connection_adapters/mysq2_adapter) |
?
此處吃了暗虧,請具體查看database.yml確認adapter為mysql2而不是mysl2
創建數據庫結構:
RAILS_ENV=production rake db:migrate
插入默認的配置數據:
[root@redmine redmine]# RAILS_ENV=production rake redmine:load_default_data Select language: ar, bg, bs, ca, cs, da, de, el, en, en-GB, es, et, eu, fa, fi, fr, gl, he, hr, hu, id, it, ja, ko, lt, lv, mk, mn, nl, no, pl, pt, pt-BR, ro, ru, sk, sl, sq, sr, sr-YU, sv, th, tr, uk, vi, zh, zh-TW [en] zh ==================================== Default configuration data loaded. 創建相關目錄 [root@redmine redmine]# mkdir tmp public/plugin_assets mkdir: 無法創建目錄 “tmp”: 文件已存在 [root@redmine redmine]# chmod -R 755 files log tmp public/plugin_assets [root@redmine redmine]# 測試3000環境 [root@redmine redmine]#ruby /opt/redmine/script/rails?server?webrick -e production 通過Aapche訪問redmine 后臺運行Redmine nohup ruby script/rails server webrick -e production & 在Apache配置文件中添加一個虛擬主機 <VirtualHost *:80> ServerName redmine.company.com ProxyPass / http://localhost:3000/ ProxyPassReverse / http://localhost:3000/ </VirtualHost> |
?
備份和恢復
備份和恢復 是企業應用中永遠存在的話題.
Redmine的用戶和問題等信息存儲于Mysql數據庫,表名為redmine而附件等資源存儲于Redmine安裝目錄的files目錄下.
因此需要遷移的話只需要備份Mysql數據庫的對應的表和files目錄即可。
1.備份mysql數據庫。
查看redmine-3.0.3-0\apps\redmine\htdocs\config\database.yml
記住production字段的username、password及database。
然后控制臺root權限執行:mysqldump -u <username> -p <database> >/redmine_bak.sql
輸入:<password>
然后是備份附件。
$ cd redmine $ tar cvzf /var/files_bak.tar.gz ./files/ |
2、Redmine恢復
附件庫恢復
直接將備份的/var/files_bak.tar.gz解壓縮到/redmine/files目錄下即可
Mysql恢復
在root用戶下運行:
$ mysql -u <username> -p <host> <database> < redmine_bak.sql |
輸入:<password>
3、恢復完畢后啟動Redmine,
$ cd redmine
$ ruby script/server -e production
如果頁面有亂碼,可編輯redmine/mysql/config/database.yml,將production字段的encoding注釋掉即可。
?
參考文章:http://www.51testing.com/html/88/n-3727488.html