web-dev-qa-db-ja.com

スクリプトのrsyncのユーザー名とパスワード

2つのディレクトリを同期させるcronジョブを作成しています。私はrsyncを使用しています。私はrsync daemonを実行しています。私はマニュアルを読み、それは言う:

   RSYNC_PASSWORD
          Setting  RSYNC_PASSWORD  to  the required password allows you to
          run authenticated rsync connections to an rsync  daemon  without
          user  intervention. Note that this does not supply a password to
          a Shell transport such as ssh.

   USER or LOGNAME
          The USER or LOGNAME environment variables are used to  determine
          the  default  username  sent  to an rsync daemon.  If neither is
          set, the username defaults to 'nobody'

私のようなものがあります:

#!/bin/bash
USER=name
RSYNC_PASSWORD=pass
DEST="myhost::mymodule"

/usr/bin/rsync -rltvvv . $DEST

私はUSERとRSYNC_PASSWORDのエクスポートも試みました(危険です。 LOGNAMEも試してみました。何も機能しません。私はこれを正しく行っていますか?

[〜#〜] edit [〜#〜](説明のため)

Linuxでrsyncバージョン2.6.9を使用しています。

このコマンドは機能します:

/usr/bin/rsync -rltvvv . myuser@myhost::mymodule

パスワードの入力を求められ、入力すると転送が開始されます。

これは、スクリプトで試したときに発生するエラーです。

opening tcp connection to myhost port 873
opening connection using --server -vvvltr . mymodule
@ERROR: auth failed on module mymodule
rsync error: error starting client-server protocol (code 5) at main.c(1383) [sender=2.6.9]
_exit_cleanup(code=5, file=main.c, line=1383): about to call exit(5)
7
d-_-b

あなたは次のようなことを試しましたか?

rsync -rltvvv --password-file=/root/secret . user@Host::dest
7
ptman

使用する export RSYNC_PASSWORD=pass の代わりに RSYNC_PASSWORD=pass

3
Zelgadis