sincronização bidirecional no WinSCP

2

Estou em uma sessão SSH com uma máquina remota usando o WinSCP. Eu gostaria que o WinSCP rastreasse um arquivo em minha máquina local, chame de test.cpp . Ou seja, sempre que esse arquivo for atualizado em minha máquina local, a alteração deverá ser feita automaticamente no controle remoto.

Ao mesmo tempo, gostaria que o WinSCP rastreasse um arquivo no controle remoto, chame-o de out.txt , para que as alterações neste arquivo no controle remoto sejam refletidas em minha própria máquina.

Como posso alcançar os dois simultaneamente? Quero que o primeiro arquivo seja rastreado em uma direção e o outro seja rastreado na outra direção, mas nenhum dos arquivos deve ser rastreado nas duas direções.

    
por user308485 04.06.2018 / 15:27

1 resposta

0

Basta criar um arquivo de lote que seja executado em loop, executando put -neweronly para test.cpp e get -neweronly para out :

@echo off
:loop
winscp.com /ini=nul /command ^
    "open sftp://username:[email protected]/ -hostkey=""ssh-rsa 2048 ...""" ^
    "put -neweronly C:\local\path\test.cpp /remote/path/*" ^
    "get -neweronly /remote/path/out C:\local\path\*" ^
    "exit"
timeout /t 30
goto loop

( A GUI do WinSCP pode gerar um modelo de arquivo em lote para você)

Se você deseja manter a conexão aberta (não reconectar para cada iteração), é melhor usar o assembly WinSCP .NET de um PowerShell script .

Consulte Mantenha o diretório local atualizado (baixe os arquivos alterados do servidor SFTP / FTP remoto) para ver um exemplo.

    
por 04.06.2018 / 15:57

Tags