Назад | Перейти на главную страницу

Повторно подключите WinSCP после сбоя подключения, сохраняя удаленный каталог в актуальном состоянии

Я хочу, чтобы локальный каталог синхронизировался удаленно через FTP. Если мое подключение к Интернету готово, я могу легко использовать WinSCP.com для подключения к FTP и поддерживать файлы в актуальном состоянии с помощью команды:

"c:\Program Files (x86)\WinSCP\WinSCP.com" /script=connect.script

Где мой сценарий:

# Connect
open myftp
# Change remote directory
cd /

# Set options
option batch continue
option reconnecttime 120
option confirm off

# Synchronize
synchronize remote
# Keep Up-to-date
keepuptodate -delete

FTP-сервер - это правильно настроенный сервер Filezilla версии 0.9.54. Параметр myftp - это раздел, настроенный и названный с использованием графического интерфейса WinSCP.

Проблема в том, что когда я теряю соединение (например, кто-то отсоединяет кабель от серверной машины), служба WinSCP умирает.

Connected
Starting the session...
Session started.
Active session: [1] myftp
/
batch           continue
reconnecttime   120
reconnecttime   120
confirm         off
Comparing...
Nothing to Synchronize.
Watching for changes, press Ctrl-C to abort...
Scanning '.' for subdirectories...
Watching for changes in 2 directories...
Lost connection.
Disconnected from server
Server is going offline
Session 'myftp' closed.
No session.
winscp>

Я ожидал, что keepuptodate сохранит раздел в рабочем состоянии и попытается повторить попытку в течение 120 секунд, в зависимости от параметра «reconnecttime». Почему этого не происходит?

Я обнаружил «уловку», используя командный файл Windows и команду goto, которая продолжает вызывать WinSCP, если сеанс закрывается, но это неуклюже, и мне интересно, есть ли лучшее решение.

Я использую WinSCP версии 5.7.6.

Нет лучшего решения.

Ваше решение с goto loop - самое простое решение, которое вы можете получить, чтобы повторно подключиться к keepuptodate команда.

См. Официальный Пример WinSCP для повторной попытки скрипта / попытки подключения.

Конечно, ваш сценарий WinSCP должен заканчиваться exit команда, так что он автоматически закроется.