(リモート ディレクトリをローカルで同期する) Python アプリケーションを実行すると、アプリを含むディレクトリの名前に 1 つ以上のスペースが含まれていると問題が発生します。-o UserKnownHostsFile=<path>
ディレクトリ名は、「 」や「 」などの ssh オプションに表示されます-i <path>
。コマンド文字列を生成する関数でパスを二重引用符で囲みますが、何もしません。また、次のようにスペースを置き換えようとしました: path.replace(' ', '\\ ')
、しかしうまくいきません。私のコードは、スペースのないディレクトリ名で機能することに注意してください。ssh によって返されるエラーは「行末にゴミがあります」(コード 12) 生成されたコマンド ラインは問題ないようです。
rsync -rztv --delete --stats --progress --timeout=900 --size-only --dry-run \
-e 'ssh -o BatchMode=yes \
-o UserKnownHostsFile="/cygdrive/C/Users/my.user/my\ app/.ssh/known_hosts" \
-i "/cygdrive/C/Users/my.user/my\ app/.ssh/id_rsa"'
user@host:/home/user/folder/ "/cygdrive/C/Users/my.user/my\ app/folder/"
私は何を間違っていますか?ありがとうございました!