rsyncコマンド内でサーバーのパスワードを指定することは可能ですか?
rsync -zvr source destination password
rsyncプロトコルを使用してDjangoでWebアプリケーションを開発しています。フォームを使用して、ユーザーからパスワードを入力します。rsyncコマンド自体でこのようなパスワードを使用したいですか?どうすればいいですか?stdin、pipeなどを使用する方法があると確信しています。ありがとう
からman rsync
:
リモート デーモンの一部のモジュールでは、認証が必要になる場合があります。その場合、接続時にパスワード プロンプトが表示されます。環境変数
RSYNC_PASSWORD
を使用するパスワードに設定するか、--password-file
オプションを使用することで、パスワード プロンプトを回避できます。これは、rsync のスクリプトを作成するときに役立つ場合があります。
そしてに関して--password-file
:
このオプションを使用すると、リモート rsync デーモンにアクセスするためのファイルにパスワードを指定できます。このオプションは、トランスポートとしてリモート シェルを使用する場合ではなく、組み込みのトランスポートを使用して rsync デーモンにアクセスする場合にのみ役立つことに注意してください。ファイルは誰でも読み取り可能であってはなりません。パスワードのみを 1 行に含める必要があります。
したがって、RSYNC_PASSWORD
を呼び出す前に環境変数を設定するかrsync
、一時ファイルを使用してコマンドに渡します。最初のオプションは、次を使用しておそらく簡単ですenv
。
env RSYNC_PASSWORD=PASSWORD rsync -zvr source destination
更新:この小さなナゲットの下に注意してください--password-file
:
このオプションは、トランスポートとしてリモート シェルを使用する場合ではなく、組み込みのトランスポートを使用して rsync デーモンにアクセスする場合にのみ役立つことに注意してください。
組み込みのトランスポートを使用していないrsync
が、おそらく SSH を使用している場合、この方法を使用して「自動的に」認証することはできません。SSH を使用している場合は、公開鍵/秘密鍵を使用するか、場合によってはASK_SSHPASS
トリック (これを参照) を使用する必要があります。