rsyncを利用して、
・webコンテンツ(wwwサーバ)
・メールアカウント情報(メールサーバ)
・メール(メールサーバ)
・クライアント提供用DB(DBサーバ)
のバックアップを障害対策用サーバに行う。
それぞれ、別々にサービスが稼動しているので、リモートでバックアップを行う。
【WWWサーバ】
・バックアップ対象
/home/
/etc/httpd/※
/etc/vsftpd/※
/etc/passwd※
/etc/shadow※
/etc/group※
/etc/gshadow※
で「※ファイル」は同期してしまうとダメなことは検証していてわかった。
理由は、例えば「clamav」ユーザアカウントが、その他同期するサーバとアカウントIDやグループIDが違っているからだ。
実際そのような趣旨のエラーが返ってきた。
今からでも統一できるんかな。既にガンガンに稼動してしまっている都合上、怖くてできない・・・
あと、http.confなどの設定ファイルは、server adminなど、障害対策用の設定にしないといけないので、これもそのまま同期してしまうとまずい。
しかし、検証用のテストサーバも構築中でまだそこまでやる時間がない。
なので、「※ファイル」は同期はせずに、コピーで一時対応することにする。その他サーバについても同じ扱いにする。
で、肝心の同期コマンドは、
# rsync -av -e ssh /home/ root@障害対策用サーバのIPまたはFQDN:/home/
で、パスワード聞かれるんで、rootのパスワード入力。で、同期される。
【メールサーバ】
・バックアップ対象
/var/lib/pgsql/
/etc/postfix/※
/etc/authlib/
# rsync -av -e ssh /var/lib/pgsql/ root@障害対策用サーバのIPまたはFQDN:/var/lib/pgsql/
# rsync -av -e ssh /etc/authlib/ root@障害対策用サーバのIPまたはFQDN:/etc/authlib/
【DBサーバ】
・バックアップ対象
/var/lib/mysql/
/var/lib/pgsql/
# rsync -av -e ssh /var/lib/mysql/ root@障害対策用サーバのIPまたはFQDN:/var/lib/mysql/
# rsync -av -e ssh /var/lib/pgsql/ root@障害対策用サーバのIPまたはFQDN:/var/lib/pgsql/
で、とりあえずやってみよう。
というか「※」については、rsyncコマンドのオプションの
-o オーナー情報を維持したまま同期
-g グループ情報を維持したまま同期
を省けば解決するんじゃないかと考えているんだけど、試してないから怖い・・・
っていうか「※」以外のものについても本当に同期して良いものか、見直しが必要なんじゃないかと不安になってきた。
さっさとテストサーバを構築して検証しようっと。
このページを共有する