- 締切済み
自サーバから別DBサーバのdumpをとり転送したい
1台のサーバ内にDBとそれを利用しているシステム(perl)があります。 サーバを買い換えてDBとシステムを別々のサーバにのせることになり、今までperlで走らせていたDBのdumpをとる処理が動かなくなってしまいました。 今は手動でとっているのですが、処理としてperlで組めないでしょうか? (システムを利用した時にdumpをとりたいのでDBサーバでのcronではちょっと役不足です) dumpをとるためには、別サーバへシェルスクリプトをキックする必要があるのですが、これは可能なのでしょうか。 もし可能でしたらperlでどのように記述すればできるのか、以下の処理の記述についてアドバイスをお願いいたします。 1.DBのdumpをとる 2.WEBサーバに転送する 3.WEBサーバにあるdumpからDBを復元する
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- t-okura
- ベストアンサー率75% (253/335)
perl だけだと難しいので、perl の system 関数で ssh(Secure Shell) を 使ってリモートホストのスクリプトをキックすればよいでしょう。 > 1.DBのdumpをとる system "ssh リモートホスト /path/to/dump/script.sh"; > 2.WEBサーバに転送する system "scp リモートホスト:/path/to/dump/file /path/to/dump/file"; > 3.WEBサーバにあるdumpからDBを復元する system "scp /path/to/dump/file リモートホスト:/path/to/dump/file"; system "ssh リモートホスト /path/to/restore/script.sh"; なお ssh は公開鍵認証等で自動認証するよう設定するとよいです。