備份和還原 Redmine¶
備份¶
Redmine 備份應包含- 資料庫
- 附件(預設情況下儲存在安裝目錄下的
files
資料夾中)
備份資料庫¶
MySQL¶
mysqldump
命令可用於將 MySQL 資料庫的內容備份到文字檔案。例如
/usr/bin/mysqldump -u <username> -p<password> -h <hostname> <redmine_database> > /path/to/backup/db/redmine.sql
您可以在 config/database.yml
檔案中找到 <username>
、<password>
、<hostname>
和 <redmine_database>
。根據資料庫的安裝,可能不需要 <host_name>
。
PostgreSQL¶
pg_dump
命令可用於將 PostgreSQL 資料庫的內容備份到文字檔案。以下是一個範例
/usr/bin/pg_dump -U <username> -h <hostname> -Fc --file=redmine.sqlc <redmine_database>
您可以在 config/database.yml
檔案中找到 <username>
、<hostname>
和 <redmine_database>
。根據資料庫的安裝,可能不需要 <hostname>
。pg_dump
命令會在需要時提示您輸入密碼。
SQLite¶
SQLite 資料庫都包含在單一檔案中,因此您可以透過將檔案複製到另一個位置來備份它們。
您可以透過查看 config/database.yml
來判斷 SQLite 資料庫的檔案名稱。
備份附件¶
所有檔案上傳都儲存在 attachments_storage_path
中(預設為 files/
資料夾)。您可以將此目錄的內容複製到另一個位置,以便輕鬆備份。
警告:attachments_storage_path
可能指向 files/
以外的其他目錄。請務必檢查 config/configuration.yml
中的設定,以避免進行無效的備份。
範例備份腳本¶
以下是一個簡單的 shell 腳本,可用於每日備份(假設您使用的是 MySQL 資料庫)
# Database /usr/bin/mysqldump -u <username> -p<password> <redmine_database> | gzip > /path/to/backup/db/redmine_`date +%Y-%m-%d`.gz # Attachments rsync -a /path/to/redmine/files /path/to/backup/files
還原¶
還原資料庫¶
MySQL¶
例如,如果您有一個名為 2018-07-30.gz
的 gzip 壓縮傾印檔案,則可以使用以下命令還原資料庫
gunzip -c 2018-07-30.gz | mysql -u <username> --password <redmine_database> Enter password:
PostgreSQL¶
當命令 pg_dump
的選項 -Fc
像上述範例那樣使用時,您需要使用命令 pg_restore
pg_restore -U <username> -h <hostname> -d <redmine_database> redmine.sqlc
否則可以使用 psql
還原文字檔案
psql <redmine_database> < <infile>
SQLite¶
從備份位置複製資料庫檔案。
由 Gerd Pokorra 於 約 6 年前 更新 · 9 個版本