Reconectar o WinSCP após uma conexão falhar enquanto mantém o diretório remoto atualizado

2

Eu quero manter um diretório local sincronizado remotamente através do FTP. Se a minha conexão com a Internet estiver pronta, posso usar o WinSCP.com para se conectar ao FTP e manter os arquivos atualizados usando o comando:

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

Onde meu 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

O servidor FTP é uma versão 0.9.54 do Filezilla Server configurada corretamente. O parâmetro 'myftp' é uma seção configurada e nomeada usando a GUI do WinSCP.

O problema é: quando eu perco a conexão (como alguém remover o cabo da máquina do servidor) o serviço WinSCP morre.

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>

Eu estava esperando que o 'keepuptodate' mantenha a seção viva e tente novamente durante 120 segundos, com base no parâmetro 'reconnecttime'. Por que isso não está acontecendo?

Encontrei um "truque" usando um arquivo de lote do Windows e o comando 'goto' que continua chamando o WinSCP se a sessão for fechada, mas é desajeitado e gostaria de saber se existe uma solução melhor.

Estou usando o WinSCP versão 5.7.6.

    
por marcelo.guedes 27.01.2016 / 13:29

1 resposta

0

Não há melhor solução.

Sua solução com o loop goto é a solução mais fácil que você pode obter para se reconectar ao comando keepuptodate .

Veja o exemplo oficial do WinSCP para tentar novamente a tentativa de script / conexão .

Naturalmente, seu script WinSCP precisa terminar com o exit command , para que seja fechado automaticamente. / p>     

por 27.01.2016 / 15:07