ブログのお引っ越し記事にも書きましたが、現在このブログの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が動作していること。
では、手順を示していきます。
- 同期先で、rsync動作用設定ファイルを作成します。
- rsyncをデーモンモードで起動します。
# rsync --daemon --config /etc/rsyncd.conf
バックアップサーバ再起動時に備え、/etc/rc.d/rc.localに書いておいてもいいかも知れません。
- rootユーザディレクトリ配下に「.ssh」ディレクトリを作成します。(つまり、/root/.sshになります)
- SSHで認証公開キーを使用するようsshd_configファイルの下記パラメータを編集しsshdサービスを再起動します。
PubkeyAuthentication yes
sshdサービスを再起動すると、/rootディレクトリ配下に.sshディレクトリが作成されます。 - RSA認証キー(パスフレーズ無)を作成します。以下のコマンドで途中設問がありますが、エンターキーで処理を進めます。コマンド実行後、自動的に[/root/.ssh]に認証キーが作成されます。
- RSA公開キーをバックアップ先に「authorized_keys」というファイル名でscp転送します。(途中の設問には答えます)
- セキュアログインでパスワード無しでログインできることを確認します。(ログイン後はログアウトしてね)
- さぁ、いよいよ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のオプションはヘルプ等で確認してくださいな)
# 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
# mkdir .ssh
ここまでがバックアップ先で行う作業です。
ここからは、バックアップ元で行う作業です。
# ssh-keygen -t rsa -N ""
# scp /root/.ssh/id_rsa.pub 192.168.1.3:/root/.ssh/authorized_keys
# slogin 192.168.1.3
これで、一通りバックアップしましたので、ゆゆしき事態になっても、最悪サーバ再インストール後最短で環境を整えることが出来ます。
後は、rsyncコマンドを個々にcronに登録してもよし、実行スクリプトを作って、cron.dailyに放り込むもよし、これであなたが眠っている間にバックアップが取られることになります。
ではでは。
1 Comments.