Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Kopieren via BAT-Datei und Geplanten Task

Frage Entwicklung Batch & Shell

Mitglied: snowhill

snowhill (Level 1) - Jetzt verbinden

23.10.2007, aktualisiert 24.10.2007, 10336 Aufrufe, 4 Kommentare

Folgendes Problem:

Über Nacht läuft ein Prozess der Daten auf ein Laufwerk bereit stellt. Dies geht leider nicht automatisch auf ein anderes da es über Unix läuft.

Jetzt zu meinem Problem:
- Die Daten befinden sich im Quellserver wobei lediglich die Auftragsnr sich verändert. z.b. 5123456_0001_0002
- Ein Auftrag ist komplett wenn die Datei 5123456_0001_0002.nwp vorhanden ist - erst dann dürfen die Dateien kopiert werden

Wie schaffe ich es das mir eine BAT-Datei die z.b. durch einen geplanten Task alle x Sekunden ausgeführt wird die unten angefügte copy.bat erstellt und die Auftragsnr. anhand der *.nwp - Datei an allen nötigen Stellen in der Datei richtig einfügt?

01.
#################### copy.bat ######################### 
02.
rem Quellserver 
03.
set SRVPATHSOURCE=\\server1\prod\auftrag 
04.
rem Zielserver 
05.
set SRVPATHDEST=\\server2\prod\Data 
06.
 
07.
robocopy %SRVPATHSOURCE%\auftrag\5123456_0001_0002\ %SRVPATHDEST%\5123456_0001_0002\ *.* /E /ZB 
08.
robocopy %SRVPATHSOURCE%\auftrags_cd\konst\ %SRVPATHDEST%\konst\ *.* /E /ZB 
09.
robocopy %SRVPATHSOURCE%\auftrags_cd\TRANSAS\ %SRVPATHDEST%\TRANSAS\ *.* /E /ZB 
10.
robocopy %SRVPATHSOURCE%\merge\ %SRVPATHDEST%\merge\ 5123456_0001_0002.txt /E /ZB 
11.
 
12.
 
13.
robocopy %SRVPATHSOURCE%\order\ %SRVPATHDEST%\order\ 5123456_0001_0002.nwp /E /ZB 
14.
###################################################
Vielen Dank für die Hilfe
Mitglied: Biber
23.10.2007 um 19:11 Uhr
Moin snowhill,

beim besten Willen... kann es sein, dass bei Euch in der Firma noch gewisse Potentiale zur Prozessausgestaltung und zur Ablaufoptimierung gegeben sind?

Es macht auf mich nicht den Eindruck, dass sich dort mit einem Batch große Schneisen in gewucherte Datenverknotungen schlagen lassen.

Dennoch würde ich auch dabei natürlich trotzdem helfen, aber ich hab es erstens nicht verstanden und kann zweitens auch nicht nachvollziehen, was der Robocopy-Batch da treibt.
Bitte nochmal langsam:
  • die Daten liegen JETZT auf einer Windows-Maschin'?
  • in einer Verzeichnisstruktur "\\server1\prod\auftrag" ?
  • darunter geht es mit den Verzeichnissen "auftrag\5123456_0001_0002\", "auftrags_Cd" (mit 2 Subdirs), "merge" weiter?
  • wo liegt die *.nwp??
  • bleiben die Original-Dateien zusätzlich auf dem Quellserver, werden die gelöscht, archiviert, umbenannt?
  • was soll wie zu was zusammengesetzt werden, wenn die *.nwp-Datei da ist?

Sorry, ich habe Deine Beschreibung wirklich nicht ausreichend zum Drauflostippseln verstanden.

Grüße
Biber
Bitte warten ..
Mitglied: snowhill
23.10.2007 um 20:51 Uhr
1. Ja - es gibt noch etliches Potentiale zur Prozessausgestaltung und zur Ablaufoptimierung aber wenn der Chef Unix will - die CD-Vervielfältigungsmaschine aber nur Windows versteht kann man wenig machen. Deshalb diese komplizierte Kopiererei!

2. Die Daten liegen auf Unix sind aber über Samba von Windows aus zu erreichen

Quellserver
\\server1\prod\auftrag

Dort liegt auch die nwp-Datei im Ordner "order"

3. Die Original-Dateien werden jede Nacht automatisch erstellt und gelöscht.

4. Es soll so sein:

Gegeben ist:
Wenn der Auftrag komplett ist, erstellt ein Shellscript eine nwp-Datei. Diese Datei erkennt die CD-Vervielfältigungsmaschine und kopiert nun alle Daten auf CD auf die diese NWP-Datei hinweist. (Auftrag, merge, auftrags_cd, ...). Aber alles auf UNIX - was die Maschine nicht mag.

Ziel ist:
Das die Daten auf einen Windows-Fileserver kopiert werden. Aber dieses Kopieren macht der robocopy-batch. Das funktioniert - aber nur Händisch wenn ich die Auftragsnummern manuell eingebe. Er darf auch nicht einfach blind alles kopieren weil es erst klappt wenn der Auftrag komplett vorhanden ist. die NWP-Datei wird UNIX-seitig als letztes erstellt, d.h. das könnte das Startsignal für die Prozedur sein.

5. Die NWP-Datei heißt immer 5123456_0001_0002.nwp (nur die Nr. ist anders) und die veränderte Zahl könnte dann in die copy.bat eingefügt werden.

Vielen Dank das du dir überhaupt die mühe machst

Grüße

snowhill
Bitte warten ..
Mitglied: Biber
23.10.2007 um 21:33 Uhr
Also gut, snowhill,
versuchen wir uns mal heranzutasten...

Wenn es wirklich so ist, dass der Name der *.nwp-Datei wirklich die einzige Variable in dem ganzen *nach-Worten-ring*....Ablauf ist, dann sehe ich eigentlich nur noch zwei Randbedingungen, die ich im Auge behalten würde:
  • dieses angedeutete "alle x Sekunden über Taskmanager starten"... ist zwar das geringste Problem, aber: ist es nötig und sinnvoll? Ist eine *.nwp-Datei (mit allem, was da dranhängt) auch ein CD-Vervielfältigungsauftrag, der sofort weitere Prozessschritte auflöst? Oder wird eher am Ende eines 6-Stundenzeitraums oder so alles aufgelaufene eingesammelt und dann weiterverarbeitet?
  • und das zweite - irgendwie sollte man/frau ja sicherstellen, dass die Datenklumpen, die der Robocopy schon einmal erfolgreich umgeschaufelt hat beim nächsten Programmstart nicht noch einmal angefasst werden. Ich würde also den Robo-Krams noch um eine Zeile erweitern, die den Namen der *.nwp-Datei an eine Logdatei dranhängt. Und kopieren eben nur, wenn die auf dem Server "gefundene" *.nwp-Datei dort nicht erwähnt wird.

Also bleiben doch nur
  • das Finden einer *.nwp-Datei auf \\server1\prod\auftrag
  • den Namen davon (ohne .nwp) als Variable weiterverwenden im bisherigen Robobatch.

Wenn wir den als Basis nehmen (und davon ausgehen, den starten wir alle x Sekunden über den Taskplaner:
01.
::---snipp nwpSauger.bat 
02.
@echo off & setlocal 
03.
 
04.
#################### copy.bat ######################### 
05.
rem Quellserver 
06.
set SRVPATHSOURCE=\\server1\prod\auftrag 
07.
rem Zielserver 
08.
set SRVPATHDEST=\\server2\prod\Data 
09.
for /f "delims=" %%i in ('dir %SRVPATHSOURCE%\*.nwp /b /s') do call :ProcessNWP "%%~ni" 
10.
goto :eof 
11.
 
12.
:ProcessNWP 
13.
find "%~1" \\irgeneinShare\AllekopiertenNWPs.log >nul && goto :eof 
14.
robocopy %SRVPATHSOURCE%\auftrag\%~1\ %SRVPATHDEST%\%~1\ *.* /E /ZB 
15.
robocopy %SRVPATHSOURCE%\auftrags_cd\konst\ %SRVPATHDEST%\konst\ *.* /E /ZB 
16.
robocopy %SRVPATHSOURCE%\auftrags_cd\TRANSAS\ %SRVPATHDEST%\TRANSAS\ *.* /E /ZB 
17.
robocopy %SRVPATHSOURCE%\merge\ %SRVPATHDEST%\merge\ %~1.txt /E /ZB 
18.
 
19.
 
20.
robocopy %SRVPATHSOURCE%\order\ %SRVPATHDEST%\order\ %~1.nwp /E /ZB 
21.
################################################### 
22.
if Not Errorlevel 1 echo %~1>>\\irgeneinShare\AllekopiertenNWPs.log
So wäre der erste Wurf.

Aber sinnvoller als ein einsamer Batch wäre es eventuell, mit deinem Cheffe mal ein Becks zu trinken...

Gruß

Biber
Bitte warten ..
Mitglied: snowhill
24.10.2007 um 15:09 Uhr
Du bist ein Held!!!

Sehr gut Programmiert und beschrieben.
Funktioniert alles wie ich mir das vorstelle.

Vielen Dank.

snowhill
Bitte warten ..
Ähnliche Inhalte
Windows Server
gelöst Sichtbares Ausführen einer BAT-Datei mittels GPOs (10)

Frage von DasWombat1993 zum Thema Windows Server ...

Windows Server
gelöst EXE Datei per GPO auf Desktop für alle User kopieren (8)

Frage von haiflosse zum Thema Windows Server ...

Batch & Shell
gelöst Verzeichniss überwachen Datei kopieren und umbenennen (6)

Frage von fischle63 zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch Datei Kopieren (17)

Frage von Frager zum Thema Batch & Shell ...

Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(7)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Heiß diskutierte Inhalte