I want to keep a local directory synced remotely through FTP. If my internet connection is ready, I can easily use WinSCP.com to connect to the FTP and keep files up-to-date using the command:

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

Where my script is:

# 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

The FTP server is a Filezilla Server version 0.9.54 correctly set up. The 'myftp' parameter is a section configured and named using the WinSCP GUI.

Problem is: when I lose connection (like someone remove the cable from the server machine) the WinSCP service dies.

Starting the session...
Session started.
Active session: [1] myftp
batch           continue
reconnecttime   120
reconnecttime   120
confirm         off
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.

I was expecting that the 'keepuptodate' would keep the section alive and retry during 120 seconds, based on parameter 'reconnecttime'. Why is it not happening?

I found a "trick" by using a Windows batch file and 'goto' command that keeps calling WinSCP if the session closes, but it is clumsy and I wonder if there is a better solution.

I'm using WinSCP version 5.7.6 .


There's no better solution.

Your solution with the goto loop is the easiest solution, you can get, to get reconnected for the keepuptodate command.

See the official WinSCP example for retrying script/connection attempt.

Of course, your WinSCP script needs to end with the exit command, so that it automatically closes.

  • Thank you. It is not ideal, but I'll keep this approach. It really bothers me that WinSCP can't deal with it by itself. – marcelo.guedes Jan 29 '16 at 10:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.