mexx
Goto Top

Suche via Powershell oder Windows alternativen Dateitransfer

Hallo,

Hintergrund:
Im Unternehmen wird eine SQL basierte Client Server Anwendungen genutzt. Neben der SQL Version gibt es eine offline Version dieser Anwendung. Damit die offline erzeugen Daten in die SQL Datenbank eingelesen werden, werden Datenpakete auf einen Server angelegt, welche dort eingelesen werden.

Ist-Zustand:
Die Datenpakete werden per VPN Verbindung in das Firmennetzwerk übertragen. Mittels der VPN Verbindung ist der Verbund eines Netzlaufwerkes möglich. Aktuell erfolgt der reine Transfer per Robocopy.exe über den Netzlaufwerksbuchstaben, weil diese ein Resume des Transfers ermöglicht, wenn es zu Schwankungen der Übertragung kommt.

Problem:
Beim Übertragen der Dateien, behauptet das Powershell Script GELEGENTLICH, dass der Laufwerksbuchstabe nicht existieren würde. Das stimmt jedoch nicht, weil der Zugriff per Windows Explorer möglich ist. Auch das Trennen des Netzlaufwerkes ist per Script nicht möglich. Per Windows Explorer erscheint eine Meldung, dass der Laufwerksbuchstabe in Verwendung sei, als ob ein Zugriff darauf, die Trennung verhindert. Ich habe den Transfer mit verschiedenen Mitteln probiert.

- Bit-Transfer
- xcopy
- robocopy
- per UNC Pfad (geht nicht, weil die Anmeldeinformationen nur per NET USE mitgegeben werden können)

In allen Fällen scheitert gelegentlich der Kopiervorgang, weil das Lafwerk angeblich nicht existieren würde oder in Verwendung ist. Auf Grund dieses mir unerklärlichen Verhaltens suche ich nach alternativen Übertragungsmöglichkeiten mehrerer Dateien. FTP wäre sicherlich eine sinnvolle Alternative, wobei ich keine Ahnung habe, wir man das per Script realisiert. Ganz zu schweigen vom Einsatz per Powershell.

Ich lese mir jede Idee interessiert durch!

Gruß Mexx

Content-ID: 144378

Url: https://administrator.de/contentid/144378

Ausgedruckt am: 19.11.2024 um 23:11 Uhr

v-m-r-de
v-m-r-de 08.06.2010 um 13:36:17 Uhr
Goto Top
Hi Mexx,

wie oft ändern sich denn diese Offline-Dateien? Ständig, einmal täglich?
Wie groß ist die Datenmenge, ide abgelichen werden muss?
Sind das einzelne Dateien oder eine große Datei?

Gruß,
Volker
pollux2
pollux2 08.06.2010 um 13:53:38 Uhr
Goto Top
Hallo Mexx,

ich hatte ein ähnliches Problem, dass Nachts manchmal bestimmte Daten per robocopy nicht kopiert wurden, meist fehlte aber nur die erste Datei.

Anscheinend war das Netzwerklaufwerk offline, deshalb habe ich vor dem Kopieren einen Ping auf die Ziel-Netzwerkkarte geschickt, um sie "aufzuwecken", danach danach war das Kopieren in Ordnung.

Gruß
Martin
mexx
mexx 08.06.2010 um 14:47:20 Uhr
Goto Top
Die Häufitkeit es Transfers variiert stark. Manche benutzer machen dies 30 mal am Tag, andere 1 mal die Woche.
Die Datenmenge variiert daher zwischen 3KB und max. 2GB.
Es handelt sich um mehrere Dateien.
Die Idee mit den Ping werde ich verfolgen.
Ich habe hier was, was Ihr vielleicht ergänzen könnt.

Per Powershell führe ich diesen Befehl aus.
cmd /C ftp -n -s:C:\Users\geheim\ftpcmd.dat

Hier die FTPCMD.DAT
open 192.168.1.2 31
user
myname
mypwd
bin
bin %1
cd ImportOrdner
put file.dat
quit

Nun erfolgt der Dateitransfer aus Powershell per FTP an den Server. Die IP wird per VPN geroutet. Nun muss aber das Powershellscript warten, bis die Datei file.dat eingelesen wurde. Bisher prüfe ich das, indem ich im Powershell per While-Schleife die Existens einer zweiten Kennzeichendatei überprüfe. Die Prüfung erfolgt über den Netzlaufwerksbuchstaben, von dessen Technologie ich mich gern trennen würde. Wie könnte ich eine solche Prüfung per FTP Script realisieren?
60730
60730 08.06.2010 um 16:19:26 Uhr
Goto Top
Moin,

so grundsätzlich verstehe ich dein Vorgehen nicht..

  • Per Powershell eine Dosbüxse aufmachen und vor allem - was soll der bin %1 ?
  • Wenn du mit cmd /c arbeitest - sollte die erst beendet werden, wenn put file.dat durch ist.

  • Schau mal nach bat ftp Logfile - da wirst du einige Treffer finden - die dich weiterbringen.

Denn auch aus dem Rest deiner Zeilen - werd ich nicht wirklich schlau.
FTP Netzwerklaufwerksbuchstabe (und unbekannte "Technik") - bei deren Ersetzung wir dir helfen sollen....

Du solltst da noch ein paar minuten investieren, damit sich das helfen lohnt.


Gruß
v-m-r-de
v-m-r-de 08.06.2010 um 18:19:47 Uhr
Goto Top
Hi,

schau Dir doch mal das Programm PowerFolder an.

Synchronisiere damit 5 Dienststellen.
Geht sowohl über VPNwie auch über verschlüsselte Direktverbindung übers Internet. Ein Netzlaufwerk oder freigebenen UNC-Pfad ist nicht notwendig.
Dabei kann die Übertragung der Daten auch komprimiert erfolgen. Spart oft sehr viel Zeit.

Gruß,
Volker