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

Warten auf Uhrzeit in Batchdatei

Frage Entwicklung Batch & Shell

Mitglied: andikad

andikad (Level 1) - Jetzt verbinden

29.06.2014 um 22:48 Uhr, 2126 Aufrufe, 11 Kommentare, 1 Danke

Hallo,

ich habe folgendes Problem:

Eine Batchdatei ruft in jeder Nacht mehrere Programme für Datensicherung, Datenimport und Berichtsversand auf. Bei einem Kunden gibt es das Problem, dass dort immer um 4:00 Uhr der Mailserver rebootet wird, und der Mailversand genau in den Zeitraum fällt, in dem der Server nicht verfügbar ist.
Gibt es eine Möglichkeit in der Batchdatei mit der Ausführung eines Befehls zu warten, bis eine bestimmte Uhrzeit erreicht ist?

Danke!

Gruß, Andreas
Mitglied: Xaero1982
29.06.2014 um 23:08 Uhr
Hi,

ehm so richtig sinnig klingt das nicht.

Nicht das ich wüsste.

Wird also durch deine Batch der Mailserver neu gestartet?

Dann kannst du höchstens über den Taskplaner eine Batch ausführen lassen, wenn der Server wieder online ist.

Gruß
Bitte warten ..
Mitglied: andikad
29.06.2014 um 23:38 Uhr
Hi,

warum klingt das nicht sinnig? Aus der Batchdatei wird ein Datenimport aufgerufen, von dem ich nie ganau sagen kann, wann der fertig ist. Wenn ich Pech habe, fällt das Ende genau in den Zeitraum, wo der Mailserver nicht zur Verfügung steht. Im nächsten Schritt wird eine Anwendung aufgerufen, die die Daten des Importlaufs benötigt, daraus Berichte generiert und diese per Mail versendet. Wenn ich einen zweiten Task plane, fehlt mir die Kontrolle, ob der Datenimport schon fertig ist.
Daher die Idee mit dem einen Batchfile und dem Warten, falls der Datenimport vor 4:00 Uhr fertig wird.

Viele Grüße, Andreas
Bitte warten ..
Mitglied: Xaero1982
30.06.2014 um 01:03 Uhr
Weil ich nicht nachvollziehen kann warum man das überhaupt in diese Situation bringt, dass es dort eine Überschneidung mit einem Restart gibt - warum auch immer ein Mailserver offenbar täglich neugestartet wird...

Dann würde ich den Dateiimport ne Stunde eher ansetzen... Mit Batches gibt es jedenfalls keine Möglichkeit bis xx Uhr zu warten.
Bitte warten ..
Mitglied: Xaero1982
LÖSUNG 30.06.2014, aktualisiert 02.07.2014
Was du machen kannst: Da ich dein Skript nicht kenne musst du sehen wie und wo du das evtl. einbauen kannst:

01.
@echo off 
02.
 
03.
set hour=3 
04.
set minute=55 
05.
 
06.
:loop 
07.
for /f "tokens=1,2,3,4 delims=:,. " %%i in ("%time%") do ( 
08.
set hr=%%i 
09.
set mn=%%j 
10.
11.
 
12.
ping 127.0.0.1 -n 5 
13.
 
14.
if %hr% == %hour% ( 
15.
	if %mn% == %minute% ( 
16.
	GOTO SchickNix 
17.
	) else ( 
18.
	GOTO loop) 
19.
20.
 
21.
:SchickNix 
22.
echo Du kommst hier net raus
Ist nur ein Beispiel. Da kannst du dir entsprechend die if-anweisung bearbeiten. Du könntest also prüfen, ob die Stunde <4 ist und die Minute kleiner 15 und erst dann geht die Mail raus.

Ein explizites Warten gibts nicht - daher musst du ein Workaround machen.

Gruß
Bitte warten ..
Mitglied: Snowman25
30.06.2014 um 08:47 Uhr
Hallo andikad,

[...] immer um 4:00 Uhr der Mailserver rebootet wird
Klingt unnötig.
und der Mailversand genau in den Zeitraum fällt, in dem der Server nicht verfügbar ist.
Gibt es eine Möglichkeit in der Batchdatei mit der Ausführung eines Befehls zu warten, bis eine bestimmte Uhrzeit
erreicht ist?
klar, den Task Sheduler.

Gruß, Andreas
Gruß,
Andreas
Bitte warten ..
Mitglied: andikad
30.06.2014 um 11:33 Uhr
Danke für die Antworten!
Ich werde das ausprobieren. Habe auch noch den at Befehl gefunden, mit dem man aus einer Batch einen geplanten Task starten kann.

Wir haben leiden keinen Einfluss darauf ob und wann in dem Laden der Mailserver rebootet wird. Wir sind da nur Kunde

Viele Grüße, Andreas
Bitte warten ..
Mitglied: Xaero1982
30.06.2014 um 11:40 Uhr
Ihr seid Kunde bei jemandem der regelmäßig den Mailserver herunter fährt? Dann würde ich schon gestern gewechselt haben. Sorry, aber das geht gar nicht.

Also ist das ob und wann auch eher relativ mit 4 Uhr?

Viel Spaß beim Basteln!
Bitte warten ..
Mitglied: andikad
30.06.2014 um 16:03 Uhr
Das mit dem Kunden ist falsch angekommen. Unsere Programme laufen bei unsere Kunden und der fährt den Mailserver runter.

Das mit dem Task Sheduler trifft es auch nicht. Ich könnte zwar das Generieren der Berichte und den Mail versand in einen eigenen Task auslagern, der hätte aber keine Kontrolle darüber, ob der vorher stattfindende Datenimport schon fertig ist. Das ist aber Bedingung.
Bitte warten ..
Mitglied: Xaero1982
30.06.2014 um 16:51 Uhr
Ändert auch nichts an meiner Idee oben...musst du nur in deine Batch basteln... da ich nicht weiß wie die aussieht musst du das selbst machen oder dir irgendeinen anderen Weg suchen
Bitte warten ..
Mitglied: pieh-ejdsch
LÖSUNG 30.06.2014, aktualisiert 02.07.2014
Moin,

Mit robocopy lässt sich auf eine bestimmte Zeit warten und auch eine Zeitspanne als auslass-Zeit überbrücken.
Wenn nichts zu warten ist wird durchgerannt.

01.
@echo off 
02.
echo Starte Programm um %time% 
03.
 
04.
 rem Pausiere Programmablauf wenn 04:00 Uhr bis 04:05 Uhr 
05.
 rem Mindestens zwei Minuten Überbrücken /RH:Ende-Beginn  
06.
 rem Eine Minute vom Beginn abziehen 
07.
setlocal 
08.
set Beginn=0359 
09.
set   Ende=0405 
10.
 
11.
:: /RH:%Ende%-%Beginn% 
12.
 
13.
set "RC=%temp%\RCtmp.log" 
14.
type nul >"%RC%" 
15.
robocopy . . " Zeitfenster ."  /RH:%Ende%-%Beginn%  /L /W:1 /R:1 /nFL /nDL /njH /njS /tee /Log:"%RC%" |( 
16.
 for /f "tokens=1*" %%a in ('find "..." ^^^<"%RC%" ') do @( 
17.
  echo Zeit fuer eine Pause %time% 
18.
  >&3 Zeit fuer eine Pause %time% 
19.
  echo Programm wird %%b 
20.
  >&3 echo Programm wird %%b 
21.
 ) >> D:\Log.txt 
22.
23.
 
24.
del "%RC%" 
25.
 rem Weiter mit dem rest


Gruß Phil
Bitte warten ..
Mitglied: andikad
02.07.2014 um 23:31 Uhr
Danke. Das mit RoboCopy ist ein guter Tipp!

Gruß, Andreas
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
gelöst In Html-Datei per Batchdatei das Datum und die Uhrzeit eintragen (2)

Frage von Hakiegold zum Thema Batch & Shell ...

Batch & Shell
gelöst Mit Batchdatei Informationen auslesen und diese strukturiert in Excel ausgeben (9)

Frage von Flodsche zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...

Exchange Server
DNS Einstellung - zwei feste IPs für Mailserver (15)

Frage von ivan0s zum Thema Exchange Server ...