WordPress – 本体バックアップ

ブログのお引っ越し記事にも書きましたが、現在このブログのWordpress本体のバックアップは、LAN内にあるサーバにrsncで定期自動バックアップ(同期)しています。その方法を覚え書き程度に記しておきます。
肝は、「定期的に自動バックアップするためには、rsyncでその度入力が必要なパスワードをどうするか」だけです。これには、SSH接続で認証キー(パスフレーズ無)を使います。
では、手順を記します。(下記条件で進めますので、環境に応じて変更してください)
バックアップ元:192.168.1.2 (www.witkitty.com)
バックアップ元ディレクトリ:/home/user/wordpress
バックアップ先:192.168.1.3
バックアップ先ディレクトリ: (事前に作成しておきます)
・/backup/www.witkitty.com/wordpress
・/backup/www.witkitty.com/conf
rootユーザでの使用を前提としていますが、他のユーザの場合は置き換えてください。
sshdが動作していること。
では、手順を示していきます。

  1. 同期先で、rsync動作用設定ファイルを作成します。
  2. # vi /etc/rsyncd.conf
    [www.witkitty.com]
    comment = backup for witkitty.com server
    path = /backup/www.witkitty.com
    hosts allow = 192.168.1.2
    hosts deny = *
    list = true
    uid = root
    gid = root
    
  3. rsyncをデーモンモードで起動します。
    # rsync --daemon --config /etc/rsyncd.conf
    

    バックアップサーバ再起動時に備え、/etc/rc.d/rc.localに書いておいてもいいかも知れません。

  4. rootユーザディレクトリ配下に「.ssh」ディレクトリを作成します。(つまり、/root/.sshになります)
  5. # mkdir .ssh
    

    ここまでがバックアップ先で行う作業です。
    ここからは、バックアップ元で行う作業です。

  6. SSHで認証公開キーを使用するようsshd_configファイルの下記パラメータを編集しsshdサービスを再起動します。
    PubkeyAuthentication yes
    sshdサービスを再起動すると、/rootディレクトリ配下に.sshディレクトリが作成されます。
  7. RSA認証キー(パスフレーズ無)を作成します。以下のコマンドで途中設問がありますが、エンターキーで処理を進めます。コマンド実行後、自動的に[/root/.ssh]に認証キーが作成されます。
  8. # ssh-keygen -t rsa -N ""
    
  9. RSA公開キーをバックアップ先に「authorized_keys」というファイル名でscp転送します。(途中の設問には答えます)
  10. # scp /root/.ssh/id_rsa.pub 192.168.1.3:/root/.ssh/authorized_keys
    
  11. セキュアログインでパスワード無しでログインできることを確認します。(ログイン後はログアウトしてね)
  12. # slogin 192.168.1.3
    
  13. さぁ、いよいよWordpress本体のパスワード入力無しでのバックアップです。Wordpress本体のバックアップと一緒に[/etc]配下にある全ての[*.conf],[*.cf]ファイルも一緒にバックアップしてみます。
    # rsync -auvzrlpogt ~user/wordpress 192.168.1.3:/backup/www.witkitty.com/wordpress
    ・・・略
    # find /etc *.conf -exec rsync -auvzrlpogt {} 192.168.1.3:/backup/witkitty.com/conf \;
    ・・・略
    # find /etc *.cf -exec rsync -auvzrlpogt {} 192.168.1.3:/backup/witkitty.com/conf \;
    ・・・略
    

    これ以外に個別のファイルがあるのならば、rsyncの対象にすればいいわけです。
    (rsyncのオプションはヘルプ等で確認してくださいな)

これで、一通りバックアップしましたので、ゆゆしき事態になっても、最悪サーバ再インストール後最短で環境を整えることが出来ます。
後は、rsyncコマンドを個々にcronに登録してもよし、実行スクリプトを作って、cron.dailyに放り込むもよし、これであなたが眠っている間にバックアップが取られることになります。
ではでは。

  1. SUA de rsync | Whimsical Kitteeeeen - pingback on 2009 年 8 月 8 日 at 01:38

Leave a Comment


*


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt="">

Trackbacks and Pingbacks: