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