データベースMySQLでバックアップする方法。
いつものようにrootで作業。

ネットを調べると微妙に危ないコマンド打ってる場合があるらしい。

# mysqldump -u ユーザ名 -pパスワード データベース名 > バックアップのファイル名

こんな感じの「-pパスワード」な感じの書き方は、マニュアルによるとpsコマンドでパスワードが見れる瞬間があるとかないとか。
手動の場合は-pのみで、プロンプトを使ってパスワードを入力するのが一番安全らしい。

さて、今回の場合は自動でバックアップ取らせるのでパスワードを上記の方法以外でやらないといけない。
で、比較的安全な方法はオプションファイルを使用する方法らしい。
ファイル名とか置く位置はOSで違うので、Windowsでやる時はマニュアルでも見てください。

オプションファイル/root/.my.cnfを作成、さらにchmodで600にしてroot以外見れないようにする。
下記のように中身を書く。

[client]
password=パスワード

これにより-pを指定しない場合は、オプションファイルのパスワードを自動的に使ってくれる。

mysqldump -u ユーザ名 データベース名 > バックアップのファイル名

後はcronで自動起動すれば定期的にバックアップをしてくれる。
もしサーバが吹き飛んだ場合はデータベースを作ってリストアのコマンド。

mysql -u ユーザ名 データベース名 < バックアップのファイル名

これにrsync(http://www.maocat.net/?p=154)を合わせれば完璧だろう・・・多分。

カテゴリ/タグ:私の記憶領域 /  ,    
コメント (0)

変化しやすい設定ファイルなどを他の鯖にバックアップする方法。
作業はrootで行って、バックアップ元のコマンドはlocal#、バックアップ先のコマンドはremote#と表記。

とりあえず必要な物をインストールする。
この作業はバックアップ元とバックアップ先で必要なので、両方でやっておく。

local# apt-get install ssh rsync
remote# apt-get install ssh rsync

次にsshの設定ファイルを変更する。
セキュリティの為に、rootからのアクセスに関しては認められたコマンド以外は受け付けないようにします。
バックアップ元とバックアップ先の/etc/ssh/sshd_configを編集する。
設定を反映させる為に、編集後にsshdを再起動しておく。

PermitRootLogin forced-commands-only

認証鍵と公開鍵を作ります。
ちゃんと、他のユーザには見えないように設定しておきましょう。
cronでの自動バックアップも考えているので、パスフレーズは指定しません。

local# mkdir -m 700 /root/.ssh
local# ssh-keygen -t rsa -N "" -f /root/.ssh/rsync

公開鍵をバックアップする先に転送します。
rootのログインは制限してしまったので、一般ユーザに公開鍵を一度送ってからバックアップ先で作業します。

local# scp /root/.ssh/rsync.pub バックアップ先一般ユーザ名@バックアップ先ホスト名:~/

公開鍵をrootに送ります。
リダイレクション(>>)を使っている理由は使う公開鍵は一つのファイルに入れる必要があるので、mvとかcpではなく既存ファイルに行を追加という形を取っています。
初めて公開鍵の設定をするならmvとかcpを使って、chownでroot所持に変えてもいいかも。

remote# mkdir -m 700 /root/.ssh
remote# cat /home/公開鍵を転送したユーザ名/rsync.pub >> /root/.ssh/authorized_keys
remote# rm /home/公開鍵を転送したユーザ名/rsync.pub
remote# chmod 700 /root/.ssh/authorized_keys

バックアップ先にある/root/.ssh/authorized_keysを編集して、実行するコマンドを表記します。

command="rsync --server -logDtprze.iL --delete . バックアップ保存先の場所" ssh-rsa 鍵の文字列

準備は完了したので、実際にデータを転送してみる。

local# rsync -vv -az --delete -e "ssh -i /root/.ssh/rsync" 転送するファイル名 root@バックアップ先ホスト名:バックアップ保存先の場所

実行すると転送されるファイルが表示されて終了する。
転送先を確認してファイルが存在すれば成功。
後はcronを使って定期的にコマンドを実行すれば安心です。
-vvオプションは結果報告なので、これは外しといた方がいいかも。

カテゴリ/タグ:私の記憶領域 /  ,    
コメント (0)
  トップ