До недавнего времени я использовал следующий скрипт bash для загрузки любых отредактированных файлов на свой сервер.Загрузка через SSH с помощью rsync и spawn
./updatesite.sh
#!/usr/bin/expect -f
spawn rsync -av -e ssh "/(...)/webs" [email protected]:/home/webs
expect "password:"
send "xpasswordx\r"
expect "*\r"
expect "\r"
Обычно это работало отлично. По какой-то причине он внезапно прекратил работу несколько недель назад. Вот вывод, который он теперь предоставляет:
[email protected]'s password:
building file list ... done
Как вы можете видеть, файлы фактически не загружены. Но если я вставляю эту ту же самую команду непосредственно в мое окно терминала без «появления», его поведение изменяется и загружает файлы, как обычно.
Вот пример:
Squid:~ John$ rsync -av -e ssh "/(...)/webs" [email protected]:/home/xuserx
[email protected]'s password:
building file list ... done
webs/somefile.txt
sent 878 bytes received 42 bytes 204.44 bytes/sec
total size is 96409 speedup is 104.79
Squid:~ John$
Вы знаете, что может быть причиной этого?
Вы можете запустить SSH с возможностью отладки? ssh -d [email protected], какой результат? – BMW
Позволяет ли ваша конфигурация разрешить sftp (что не связано с ftp) или scp вместо попытки сделать неинтерактивный ssh? – BradHards
@BradHards Боюсь, я новичок в сети. Мой сервер размещен Dreamhost, если это помогает. Я, кажется, помню, что он поддерживал sftp. – Jonn