仕事でRedmineを使い始めました。MySQL をデータベースとして使用し、Apache 2 を Web サーバーとして使用していることは知っています。何か問題が発生した場合にすぐに再ロードできるように、Redmine を適切にバックアップするにはどうすればよいですか?
6 に答える
これはうまくいきます:
mysqldump --single-transaction --user=user_name --password=your_password redmine_database > backup.sql
redmine_database の内容全体を backup.sql ファイルにダンプします。
アップデート:
以下のコメントで述べているように、「apache」のバックアップに関しては、Apacheのインストールをバックアップする必要はありません。システムを回復する必要がある場合は、他のアプリケーションと同様に apache を再インストールする必要があります。redmine インストール内の実際のファイルとディレクトリを参照している場合、ユーザーが redmine にアップロードしたファイルを含む files/ ディレクトリを除いて、それらもバックアップする必要はありません。次のコマンドを使用して、Redmine インストール全体を (安全のために) バックアップできます。
tar czvf redmine_backup.tar.gz /path/too/redmine/installation
Redmine ユーザーガイドを読んでください(一番下を見てください)。
また、添付ファイルのバックアップもお忘れなく。
Redmine のバックアップには以下を含める必要があります。
- データ (redmine データベースに保存)
- 添付ファイル (Redmine インストールの files ディレクトリに保存されます)
以下は、毎日のバックアップに使用できる簡単なシェル スクリプトです (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
Bitnamiアプリは自己完結型であるため、ダウンタイムに余裕がある場合の別のオプションは、単純にサーバーをシャットダウンし、ディレクトリの内容を圧縮することです... mysqldump バックアップに加えて、おそらく週に 1 回これを実行することをお勧めします。このようにして、Apache などで発生した可能性のある変更もキャプチャします。
VMとして実行し(JumpBoxにはクイックスタート可能なものがあると思います)、定期的にVMを一時停止またはシャットダウンし、仮想ディスク全体をバックアップ/コピーします。
これが既存のインストールに役立たないことはわかっていますが、実装する前にバックアップを計画している人にはお勧めです。これは中傷するつもりはありません。このスレッドを読んでいる他の人に役立つだけです。
Redmineはテーブル文字セットを「latin1」として設定します。したがって、latin1以外の文字セット(UTF-8のCJKなど)を使用する場合は、バックアップスクリプトに次のオプションを指定する必要があります。
mysqldump -u root -p --default-character-set = latin1 --skip-set-charset bitnami_redmine -r backup.sql
SQLダンプで「setcharsetblah-blah-blah」をスキップし、clean(=解釈なしのダンプ)ダンプを取得します。
ところで、files ディレクトリもバックアップする必要があります。アップロードされたすべてのファイルを保持します。Bitnami Redmine スタックを Windows にインストールしました。
MySQL の場合、MySQLAdmin を使用してデータベースのバックアップを毎日スケジュールします。また、aceBackup を使用してデータベース ダンプ ファイルと Redmine アップロード ファイルをリモート FTP サーバーに自動バックアップします。
サーバーに問題が発生した場合は、Bitnami Redmine スタックを再インストールし、初期にダンプされたデータベース ファイルをインポートしてから、Redmine のファイル ディレクトリをバックアップ ファイルでカバーします。
そして、それは大丈夫です。
この個別のプログラム (Bitnami Redmine スタック) とデータ (データベースとアップロードされたファイル) は完全に分離されています。