Использование wait в скрипте
В следующем ожидаемом сценарии я заметил, что сценарий отправит пароль еще до того, как будет запрошен пароль. Как это можно предотвратить? Могу ли я использовать оператор ожидания или что-то?
#!/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 "\\$ $
1 ответ
Вам даже не нужно использовать 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/