Ftp

連接失敗後重新連接 WinSCP,同時保持遠端目錄最新

  • March 3, 2017

我想通過 FTP 遠端同步本地目錄。如果我的 Internet 連接已準備好,我可以輕鬆地使用 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 Server 版本 0.9.54。“myftp”參數是使用 WinSCP GUI 配置和命名的部分。

問題是:當我失去連接時(比如有人從伺服器機器上拔下電纜),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”會根據參數“reconnecttime”使該部分保持活動狀態並在 120 秒內重試。為什麼沒有發生?

我通過使用 Windows 批處理文件和“goto”命令找到了一個“技巧”,如果會話關閉,該命令會繼續呼叫 WinSCP,但它很笨拙,我想知道是否有更好的解決方案。

我正在使用 WinSCP 版本 5.7.6 。

沒有更好的解決方案。

您的goto循環解決方案是您可以獲得的最簡單的解決方案,可以重新連接keepuptodate命令。

有關重試腳本/連接嘗試,請參閱官方WinSCP 範例。

當然,您的 WinSCP 腳本需要以exitcommand結尾,以便它自動關閉。

引用自:https://serverfault.com/questions/752103