
すでにログをホストマシンに公開しようとしましたが(docker run -v src:/desを使用)、今度はログを別のサーバーに転送したいと思います。
使用したコマンド:
- rsync -u -avze ssh ソース/* example.com:/des/logs
rsync: 実行に失敗しました ssh: そのようなファイルまたはディレクトリはありません (2) rsync エラー: pipe.c(84) の IPC コード (コード 14) にエラーが発生しました [送信者 = 3.0.9] rsync: writefd_unbuffered がソケットに 4 バイトを書き込むことができませんでした [送信者]: パイプが壊れています (32) rsync エラー: io.c(1532) の IPC コード (コード 14) にエラーが発生しました [送信者 = 3.0.9]
ソースパスと宛先パスはすでに確認しましたが、それでも同じ結果になります。
ホスト サーバー 1 がサーバー 2 と通信できる場合、サーバー 01 上で実行されている Docker コンテナーはサーバー 2 と通信できるはずです。(これは正しい記述ですか?)
Splunkなどの他のツールを使用せずにログを管理できるLinuxユーティリティを使用する方法はありますか?
答え1
構文が間違っているため、エラー メッセージが表示されます:
“No such file or directory (2) rsync error”
正しい構文は次のとおりです。
$ rsync <options> /source host:/dest
例えば
$ rsync -avz /source host:/dest
SSH のカスタム ポートを指定する必要がある場合は、引用符を使用します。例を以下に示します。
$ rsync -e "ssh -p port" <options> /source host:/dest
また、ソース ディレクトリの所有権を確認してください。rsync を実行しているユーザーである必要があります。そうでない場合は同期に失敗します。