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.