Timeout bei FTP-Synchronisation (WinSCP, PowerShell)
Moin!
Ich habe einen Ordner auf meinem Rechner, der hin und wieder mal mit meinem FTP-Server synchronisiert werden soll. Grundsätzlich funktioniert es mit diesem Skript ganz gut:
Das Problem ist nun, dass rund 2500 Dateien (~19GB) geprüft werden sollen. Das dauert natürlich eine ganze Weile. Leider verliert das Skript nach einiger Zeit immer die Verbindung zum FTP-Server. Vermutlich, da der FTP-Server die Verbindung kappt, weil serverseitig keine Veränderung stattfand. Im Netz habe ich bereits die oben eingetragenen Ansätze mit $sessionOptions.AddRawSettings() und $session.ReconnectTimeInMilliseconds gefunden. Leider hilft das alles nicht.
Die folgende Fehlermeldung erhalte ich immer:
Habt ihr noch weitere Ansätze? Danke!
Ich habe einen Ordner auf meinem Rechner, der hin und wieder mal mit meinem FTP-Server synchronisiert werden soll. Grundsätzlich funktioniert es mit diesem Skript ganz gut:
$Source = "c:\upload"
$Destination = "/upload/"
Add-Type -Path "WinSCPnet.dll"
$sessionOptions = New-Object WinSCP.SessionOptions -Property @{
Protocol = [WinSCP.Protocol]::Ftp
HostName = "<HOST>"
PortNumber = <PORT>
UserName = "<USER>"
Password = "<PASSWORD>"
<SECURITY OPTIONS>
}
#$sessionOptions.AddRawSettings("PingType", "2")
#$sessionOptions.AddRawSettings("PingIntervalSecs", "30")
$session = New-Object WinSCP.Session
#$session.ReconnectTimeInMilliseconds = 10000
try {
$session.Open($sessionOptions)
$Session.SynchronizeDirectories([WinSCP.SynchronizationMode]::Remote, $Source, $Destination, $true, $true, [WinSCP.SynchronizationCriteria]::Either)
} finally {
$session.Dispose()
}
Die folgende Fehlermeldung erhalte ich immer:
"WinSCP.SessionRemoteException: Verbindung verloren.
<SECURITY DETAILS>
Zeit abgelaufen (Kontrollverbindung)
Kopieren von Dateien auf den entfernten Rechner schlug fehl."
Habt ihr noch weitere Ansätze? Danke!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 340533
Url: https://administrator.de/contentid/340533
Ausgedruckt am: 23.11.2024 um 07:11 Uhr
7 Kommentare
Neuester Kommentar
Das erste was die WinSCP Jungs schreiben: --> Timeout hochsetzen
https://winscp.net/eng/docs/ui_login_connection
Das 2te wenn FTP benutzt wird:
Wenns Timeout nicht greift schauts wohl schlecht aus.
VG
https://winscp.net/eng/docs/ui_login_connection
Das 2te wenn FTP benutzt wird:
A reason is typically a broken firewall/proxy/NAT that aborts the FTP control connection as it sees no traffic during the file transfer. Note that there’s no way for WinSCP to keep the control connection alive during the transfer. It would violate the FTP protocol specification.
Wenns Timeout nicht greift schauts wohl schlecht aus.
VG
WinSCP ist KEIN FTP und hat damit nicht das Geringste zu tun !
https://de.wikipedia.org/wiki/Secure_Copy
SCP kann also per se niemals mit einem FTP Server sprechen. Das ist so wie Fisch und Fahrrad.... Solche grundlegenden Basics sollte man aber schon wissen.
https://de.wikipedia.org/wiki/Secure_Copy
SCP kann also per se niemals mit einem FTP Server sprechen. Das ist so wie Fisch und Fahrrad.... Solche grundlegenden Basics sollte man aber schon wissen.
Zitat von @aqui:
WinSCP ist KEIN FTP und hat damit nicht das Geringste zu tun !
https://de.wikipedia.org/wiki/Secure_Copy
SCP kann also per se niemals mit einem FTP Server sprechen. Das ist so wie Fisch und Fahrrad.... Solche grundlegenden Basics sollte man aber schon wissen.
Das ist leider falsch, WinSCP kann sehr wohl mit FTP-Servern reden , schau mal in die Doku.WinSCP ist KEIN FTP und hat damit nicht das Geringste zu tun !
https://de.wikipedia.org/wiki/Secure_Copy
SCP kann also per se niemals mit einem FTP Server sprechen. Das ist so wie Fisch und Fahrrad.... Solche grundlegenden Basics sollte man aber schon wissen.
p.s. Fisch gibts erst Freitag
Statt auf FTPs zu setzen würde ich an deiner stelle auf SFTP (scp) umsatteln, das ist einerseits wesentlich kompakter handelbar (kein getrennter Control und Dataport) und zweitens ist es bei Übertragungen zuverlässiger, Verschlüsselung ist natürlich Standard.
Rsync nutzt z.B. von Haus aus SCP als Übertragungsmedium, und kann bei Gigabyte großen Files nur die Teile übertragen die sich tatsächlich geändert haben.
Gruß
Rsync nutzt z.B. von Haus aus SCP als Übertragungsmedium, und kann bei Gigabyte großen Files nur die Teile übertragen die sich tatsächlich geändert haben.
Gruß
Zitat von @LosPollos:
Rsync sieht ziemlich cool aus. Aber leider scheint das ja eher für Unix-Systeme gedacht zu sein. Hilft mir in meinem Fall also leider auch nicht wirklich weiter..
Lässt sich selbstverständlich auch nativ unter Windows nutzen!Rsync sieht ziemlich cool aus. Aber leider scheint das ja eher für Unix-Systeme gedacht zu sein. Hilft mir in meinem Fall also leider auch nicht wirklich weiter..
Hast du einen Mikrotik-Router könntest du die Timeouts damit höher setzen bzw. die Session-States länger offen halten.