0

次のexpectスクリプトでは、パスワードの入力を求められる前でも、スクリプトがパスワードを送信することに気付きました。どうすればこれを防ぐことができますか?待機ステートメントなどを使用できますか?

#!/usr/bin/expect -f
#set timeout 25
spawn rsync root@14.12.123.82:'/usr/backups /usr/backup-scripts /root/test/' /root/
expect "root@14.12.123.82's password: $"
send "\$xxxxxx\n"
expect "\\$ $
4

1 に答える 1

0

expectこのタスクに を使用する必要さえありません。man ページによると、rsync はファイルから直接パスワードを読み取るオプションをサポートしています。

rsync --password-file=file_that_password_is_in root@14.12.123.82:'/usr/backups /usr/backup-scripts /root/test/' /root/

または、環境変数を使用して:

export RSYNC_PASSWORD=secret
rsync root@14.12.123.82:'/usr/backups /usr/backup-scripts /root/test/' /root/
于 2010-11-26T07:53:30.367 に答える