Nimey Geschrieben 20. November 2014 Geschrieben 20. November 2014 Guten Morgen, ich hoffe ihr könnt mir bei meinem Problem helfen. Ich habe in einem lokalen Netzwerk(1) mehrere Client Rechner und einen Fileserver. Des Weiteren habe ich in einem anderen lokalen Netzwerk(2) einen Backupserver stehen. Zwischen den beiden Netzen ist ein Computer mit zwei Netzwerkkarten, welcher so als Schnittstelle zwischen den beiden Netzen dient. Die Clients speichern aus Netzwerk 1 ihre Daten direkt auf das Netzlaufwerk vom Fileserver. Anschließend sollen die User eine Batch-Datei von ihrem Client aus ausführen, um die Daten vom Fileserver auf den Rechner mit den zwei Netzwerkkarten zu kopieren. Aus Sicherheitsgründen darf keine direkte Verbindung zum Server in dem anderen Netzwerk hergestellt werden, deswegen muss eine zweite Batch-Datei auf dem Rechner mit den zwei Netzwerkkarten ausgeführt werden, welche dann letztendlich die Daten auf den Backupserver kopiert. Nun zu meinem Vorhaben: Die erste Batch-Datei holt sich über die Variable %computername% den Namen des Client Rechners und erstellt einen Ordner mit diesem Namen auf dem Netzlaufwerk, vom Rechner mit den zwei Netzwerkkarten. Anschließend kopiert diese die Daten aus dem User-Ordner(heißt genauso wie der Client Rechner) auf dem Fileserver Netzlaufwerk in das erstelle Verzeichnis auf dem Schnittstellen Rechner. Das zweite Batch Script soll durch einen Befehl in der ersten Batch ausgeführt werden. Um jetzt der zweiten Batch mitzuteilen, welche Daten genau kopiert werden sollen, habe ich mir überlegt bei dem Kopiervorgang die Dateinamen in ein Logfile schreiben zu lassen. Dieses Logfile soll dann von der zweiten Batch-Datei ausgelesen werden, um so die Quelldateien zu ermitteln. Zum schluss sollen die Dateien dann auf den Backupserver kopiert werden. Meine drei Fragen sind: 1. Robocopy oder xcopy, was ist sinnvoller? Es dürfen nirgendwo Daten verloren gehen oder gelöscht werden. 2. Wie schreibe ich in das Logfile nur die Dateinamen, die kopiert wurden? Wirklich nur die Namen, ohne Verzeichnispfad und copy Befehl. Ansonsten: Wie lese ich das Logfile so aus, dass ich wirklich nur die Dateinamen raus kriege? 3. An den Schnittstellen Rechner darf sich kein User anmelden. Wie schaffe ich es, dass die Batch-Datei sich mit dem System-User an diesen Rechner anmeldet? Ich hoffe ich habe es einigermaßen verständlich erklärt und ihr könnt mir weiterhelfen. Mit freundlichen Grüßen Nimey Zitieren
orioon Geschrieben 20. November 2014 Geschrieben 20. November 2014 Fangen wir mal an: Die erste Batch-Datei holt sich über die Variable %computername% den Namen des Client Rechners und erstellt einen Ordner mit diesem Namen auf dem Netzlaufwerk Kann der Ordner von den Berechtigungen her überhaupt erstellt werden? Das mit deiner komischen Logdatei hört sich sehr konfus an. Bitte beschreibe das mal etwas simpler, kann mir gerade nichts sinnvolles darunter vorstellen. Soll der User eine Datei haben wo er Pfade einträgt, welche gesichert werden sollen? Robocopy oder xcopy, was ist sinnvoller? Definitiv Robocopy. Aber selbst damit habe ich bei sehr großen Aufträgen schon Bitfehler gehabt Nutze selber SyncToy, das bietet eine verify Funktion an. Kannst du nicht einfach auf dem Backupserver die Daten vom Fileserver kopieren? Wieso sollte der User hier aktiv werden müssen? Zitieren
feuerjinn Geschrieben 25. November 2014 Geschrieben 25. November 2014 zu 2. DOS - String Manipulation zu 3. http://www.winability.com/elevate/ Alternativ würde ich dir PowerShell empfehlen, wenn du im Windows Commandshell absoluter Neuling bist. PowerShell ist besonders Zukunftsträchtiger. Wenn du allerdings Linux/Bash Kenntnisse hast, könnte cygwin eine gute Idee sein. Zitieren
SilentDemise Geschrieben 25. November 2014 Geschrieben 25. November 2014 Cygwin ist fast nie eine gute Idee. Zitieren
SilentDemise Geschrieben 25. November 2014 Geschrieben 25. November 2014 Cygwin ist fast nie eine gute Idee. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.