rsyncエラー+コマンドが見つかりません

rsyncエラー+コマンドが見つかりません

AWSサーバーからプロジェクトをインポートしようとしていますが、何らかの理由でrsyncが機能していないかどうかはわかりません。このコマンドを実行しようとすると:

vinicius@Inspiron-5537:~/Desktop/PHP$ rsync --protect-args -aP -e "ssh [email protected] -i ~/Desktop/Projeto.pem" "[email protected]:/var/www/projeto/" .

次のエラーが発生します。

bash: 84.26.56.23: command not found
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: remote command not found (code 127) at io.c(226) [Receiver=3.1.1]

しかし、奇妙なことは、SSHサーバーを使用すると

ssh [email protected] -i ~/Desktop/Projeto.pem

ログインはうまくいきます!何が起こったのか教えてくれる人はいますか?サーバーからファイルをインポートするにはどうすればよいですか?これがそれに関連しているかどうかはわかりませんが、rootが所有しています/var/www/projeto/が、すべてのユーザーは少なくとも読み取りアクセス権を持っています。私のクライアントはUbuntu 16.04で、私のサーバーはUbuntu 14.04です。

ベストアンサー1

使用

rsync --protect-args -aP -e "ssh -i ~/Desktop/Projeto.pem" "[email protected]:/var/www/projeto/" .

人の同期 状態

-e, --rsh=COMMAND は、使用するリモートシェルを指定します。

そして

-e、--rsh = COMMANDこのオプションを使用すると、rsyncのローカルコピーとリモートコピー間の通信用の代替リモートシェルプログラムを選択できます。通常、rsyncはデフォルトでsshを使用するように設定されていますが、ローカルネットワークではrshを使用する方が良いかもしれません。

このオプションを [user@]host::module/path とともに使用すると、リモートシェル COMMAND がリモートホストで rsync デーモンを実行するために使用され、すべてのデータは接続ではなく対応するリモートシェル接続を介して送信されます。リモートホストで実行されているrsyncデーモンへの直接ソケット接続。リモートシェル接続で上記のRSYNC-DAEMON機能rqを使用するセクションを参照してください。

COMMANDがrsyncに単一の引数として提供されている場合、COMMANDはコマンドライン引数を受け入れます。コマンドと引数を区別するには、タブや他のスペース以外のスペースを使用する必要があり、一重引用符および/または二重引用符を使用して引数のスペースを保存できます(バックスラッシュを除く)。一重引用符で囲まれた文字列内で一重引用符を2回使用すると、一重引用符になります。二重引用符の場合も同様です(ただし、シェルが解析する引用符とrsyncが解析する引用符に注意する必要があります)。いくつかの例:

CW -e 'ssh -p 2234'

CW -e 'ssh -o "ProxyCommand nohup sshfirewall nc -w1 %h %p"' (ssh ユーザーは .ssh/config ファイルでサイト固有の接続オプションをカスタマイズできます。)

-e と同じ範囲の値を受け入れる RSYNC_RSH 環境変数を使用して、リモートシェルを選択することもできます。

このオプションの影響を受ける --blocking-io オプションも参照してください。

だから余分[Eメール保護]何がそれを破ったのですか?

おすすめ記事