お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2010-12-26 00:28:34

koachi
メンバ
登録日: 2008-05-03

バックアップスクリプト

PCがA,B,Cと3台あります.

Aからsshを使ってB,Cのディレクトリの同期をとりたいです.

rsync -av -e ssh hoge@servername:/home/hoge/ foo@servername:/home/foo

このように同期元のサーバと,同期先のサーバの両方をリモートにするとrsyncではできないとエラー出力されました.
#いま,資料がないのでコマンド間違ってるかもしれません.

同期元と同期先が両方リモートPCであっても動作するバックアップに使うコマンド(?)はありますでしょうか?

オフライン

 

#2 2010-12-28 02:02:55

STGSAGWAN
ゲスト

Re: バックアップスクリプト

ホストA上でのコマンド実行によって、ホストBのディレクトリをホストCのディレクトリに同期するなら、私なら、

コード:

host-a-user@host-a:~$ ssh -v -t -l host-b-user host-b "rsync -av -e 'ssh -v -l host-c-user' /path/to/host-b-dir/ host-c:/path/to/host-c-dir/"

などとやります。
・ホストAからホストBへ、ホストBからホストCへSSH接続(パスワード認証)できるという前提
・最初はシンプルなパスワード認証での検証がお勧め。
・デバッグ用にsshコマンドに-vを2箇所つけています。

 

#3 2010-12-28 02:07:58

STGSAGWAN
ゲスト

Re: バックアップスクリプト

#2を発展させれば、公開鍵認証、パスフレーズ無で処理の完全自動化、SSH Agent Forwardingを使ってホストAでの鍵一元管理など、やろうと思えば色々やれます。

 

Board footer

Powered by FluxBB