AWS ec2 - 2つのリモートデバイス間でファイルを同期する方法は?

AWS ec2 - 2つのリモートデバイス間でファイルを同期する方法は?

本番サーバーから子環境サーバーにファイルをコピーする複数のタスクを実行するようにcrontabサーバーを設定しています。

あるサーバーから別のサーバーにファイルをコピーするには、cron サーバー操作が必要です。これが私が持っているものです。

ipiが修正されました

ssh -v -R localhost:50000:1.0.0.2:22 -i host1key.pem [email protected] 'rsync -e "ssh -i /home/ec2-user/host2key.pem -p 50000" -vuar /home/ec2-user/test.txt ec2-user@localhost:/home/ec2-user/test.txt'

私は2つの異なるpemキーとユーザーを使用しています。このコマンドが機能すると思いましたが、デバッグログにこのエラーが表示されます。これには、何が間違っているかを示す詳細があります。接続が[email protected]成功しました。しかし、エラーは次のとおり1.0.0.2です。

debug1: connect_next: host 1.0.0.2 ([1.0.0.2]:22) in progress, fd=7
debug1: channel 1: new [127.0.0.1]
debug1: confirm forwarded-tcpip
debug1: channel 1: connected to 1.0.0.2 port 22
Host key verification failed.
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype [email protected] reply 0
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(600) [sender=3.0.6]
debug1: channel 0: free: client-session, nchannels 2
debug1: channel 1: free: 127.0.0.1, nchannels 1
Transferred: sent 5296, received 4736 bytes, in 0.9 seconds
Bytes per second: sent 5901.2, received 5277.2
debug1: Exit status 12

ベストアンサー1

私も同じ問題があります。
RSYNCが望むタスクを実行するには、サーバー1.0.0.1と1.0.0.2〜しなければならないそれらの間には関連性があります。これは明らかに見えないかもしれませんが、そうです。

行間を少し読んでみると、.1と.2の間には直接的な関連性がなく、これを得る方法もないという結論に達することになります。

この場合、常に.1からデータを取得し、.2にプッシュします。これは2つのプロセスを必要とし、2倍の時間がかかります。

この答えが同じ状況の他の人にも役立つことを願っています。
私はそれを見つけようと数ヶ月を過ごしました。おそらく、これはあなたの一部に多くの時間を節約するでしょう。

おすすめ記事