データベースの自動バックアップを、cronで行う

| | トラックバック(0)

 proftpdもインスト-ルできましたので、少し元に戻って、デ-タベ-スのバックアップのcronでの仕掛けに戻りました。

 scpコマンドを公開鍵を使って、パスワ-ドなしにする方法がちょっと難しかったです。結局、SSH2でログインする方法でやってみました。
 ここを参考にさせてもらいました。→ここ

 

<クライアント 192.168.2.35 側の設定>


$ cd /root/test/.ssh
$ ssh-keygen -t dsa(パスフレ-ズ入力なしで)
$ scp -p id_dsa.pub root@192.168.2.32:.ssh/
ログインパスワ-ドを入力して公開鍵をサ-バ側へコピ-

<サ-バ- 192.168.2.32 側の設定>


$mkdir /root/.ssh
$ cd /root/.ssh
$ touch authorized_keys2
$ chmod 600 authorized_keys2
$ cat id_dsa.pub >>authorized_keys2
server$ rm id_dsa.pub


 これで、無事パスワ-ド認証なしで接続できるようになりました。SSH1での設定もいくつかのサイトを見て試してみたのですが、うまくいきませんでした。(自分の設定が悪かったのでしょうが、どこが悪いのかが分からなかったので...)

 次に、シェルスクリプトを作成(汗 こんな感じにしてみました。

 

#!bin/bash
mysqldump --user=test --password=***** test TABLE1 TABLE2 > /root/test/test_DUMP.sql
tar -czf /root/test/test_DUMP.sql.tar.gz /root/test/test_DUMP.sql
scp /root/test/test_DUMP.sql.tar.gz 192.168.2.32:~/test
rm -rf /root/test/test_DUMP.sql
rm -rf /root/test/test_DUMP.sql.tar.gz

 

 これを、cronに設定し、テストで実行してみました。
 これで、無事にサ-バ-に圧縮ア-カイブされたsqlデ-タが転送されてました。

 大体ですが、こんなとこまではできるようになりました

 

 追加で、ファイル名にタイムスタンプをつけて、複数のファイルをバックアップできるようにしました。

 

#!bin/bash
mysqldump --user=test --password=***** test TABLE1 TABLE2 > /root/test/test_DUMP.sql
timestamp=`date +%Y%m%d%H%M`
tar -czf /root/test/test_DUMP$timestamp.sql.tar.gz /root/test/test_DUMP.sql
scp /root/test/test_DUMP$timestamp.sql.tar.gz 192.168.2.32:~/test
rm -rf /root/test/test_DUMP.sql
rm -rf /root/test/test_DUMP$timestamp.sql.tar.gz

 訂正。上記スクリプトだと、全てルートからの作業になるので、問題あり。作業ディレクトリなどを絡めたスクリプトを書き直す予定。

トラックバック(0)

このブログ記事を参照しているブログ一覧: データベースの自動バックアップを、cronで行う

このブログ記事に対するトラックバックURL: http://blog.macplan.com/setcontents/mt-tb.cgi/28