.
WEB/DB 関連 =>phpGroupWare>3.バックアップとリストア
Linux 活用ガイド:目次

サーバ構築ガイド

レンタル ガイド

ショップ 構築ガイド

情報漏洩対策

phpGroupWare 保守管理 ~ バックアップとリストア

グループウェアを本格的に活用するとなるとバックアップやリストア作業など保守管理も重要になります。現在の所 phpGroupWare にはブラウザ経由でデータベースをバックアップするインターフェイスは提供されていませんので、ここで紹介した運用目的では MySQL、PostgreSQL サーバ管理者が定期的にバックアップを行う必要があります。

PostgreSQL / MySQL データベースのバックアップ

LAN内で利用するために設けたグループウェア専用のサーバであれば、SQL サーバーを丸ごとバックアップする方が簡単です。

CentOS-4.5 (RHEL系)
PostgreSQL /var/lib/pgsql/data
MySQL /var/lib/mysql

ディレクトリ毎バックアップする場合、MySQL、PostgreSQL サーバーを停止させておく必要があります。復元を行う場合もサービスを停止し書き戻すだけです。サービスを停止させる必要がある上、扱う情報量が増えてくるとバックアップに時間を要します。

具体的な方法は下記コンテンツで紹介しています。MySQL の場合も同様です。

参照 => 万が一の時の保険 ~ PostgreSQL Server データベースの復元

PostgreSQL pg_dumpall による自動バックアップ

PostgreSQL サーバーを停止させないで全ての情報をバックアップするには pg_dumpall を使用します。定期的に実行、リストア方法については PostgreSQL サーバー導入の章で紹介しています。

参照 => PostgreSQL Server で定期定期にバックアップを行う

データベース単位でのバックアップと復元

既存の PostgreSQL、MySQL サーバに phpGroupWare 用のデータベースを作成したのであれば、データベース単位でバックアップをとる事になります。

PostgreSQL の場合

ここでは、phpGroupWare のためにPostgreSQLユーザー phpgw と データベース phpGroupWare を作成しています。以下の例は PostgreSQL サーバが同一ホストである場合です。

バックアップ

pg_dump-phpGroupWare.dump という一つのファイルで出力します。

$ pg_dump phpGroupWare -h localhost -U phpgw -c > pg_dump-phpGroupWare.dump

-c で復元の際にデータベースを削除するコマンドを付加しています。

復元

上記 pg_dump-phpGroupWare.dump を復元する場合は以下のようにします。

$ psql -h localhost -U phpgw -d phpGroupWare < pg_dump-phpGroupWare.dump

テスト用のデータベースを作成して確認される事をお勧めします。

定期実行について

crond で定期的に実行する場合、PostgreSQL サーバーへの認証を自動的に行う必要があります。(PostgreSQL側で認証なしに設定するのはお勧めできない) 認証の自動化の具体的な設定に関しては以下のページで説明しています。

参照 => PostgreSQL Server で定期定期にバックアップを行う

MySQL の場合

ここで紹介した CentOS-4.5 の環境では MySQL では不具合が発生したため、PostgreSQL を使用しましたが、MySQL でデータベースのバックアップは以下のように行います。

バックアップ

MySQLユーザー phpgw が データベース phpGroupWare を認証自動でバックアップする例です。

$ mysqldump phpGroupWare -uphpgw -ppassword -Q --opt -r phpGroupWare.sql

リストア

MySQLユーザー phpgw が データベース phpGroupWare をリストアする例

$ mysql -u phpgw phpGroupWare < phpGroupWare.sql

異なるホストへリストアする例

$ mysql -u phpgw --host=192.168.3.43 phpGroupWare < phpGroupWare.sql

その他のディレクトリ

phpGroupWare のデフォルトでは画像などのファイル情報はディレクトリで管理しています。データベースのバックアップと同時にこれらのディレクトリに格納されている情報もバックアップする必要があります。

ここでセットアップした内容
環境パス /usr/local/phpgw

補記

インストール直後はバックアップ、リストアも含めて検証するようにして下さい。本格運用を始める前にバックアップ手順と復元手順は抑えておいて下さい。

一般的に PostgreSQL や MySQL データベースサーバは専用のホストを立てて Firewall や SELinux などで要塞化します。オンラインバックアップ、メンテナンス用の予備のデータベースサーバがあると保守管理もやり易くなります。

環境や目的に適した保守管理体制を考える必要があります。

シェルスクリプトを活用する

UNIXシェルスクリプト逆引き大全333の極意―Linux,FreeBSD,Solaris,Mac OS X対応

CUI 操作によるバックアップやリストア作業は、行うべき事が決まっているので sh スクリプトに必要な作業をまとめておくと便利です。特にコマンド操作に不慣れな方はちょっとしたミスが取り返しのつかない自体に成りかねません。(バックアップファイルの上書きとか)

例えば、データベースのバックアップ、圧縮、関連ディレクトリのバックアップなど シェルスクリプトにまとめておけばその都度コマンドを入力する必要がなく、うっかりミスもなくなります。

bottom_mark
ページ最上部
ページ最上部 前のページ