Top-Themen

Aktuelle Themen (A bis Z)

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

Nach fertiger Batch Mail versenden

Frage Entwicklung Batch & Shell

Mitglied: photographix

photographix (Level 1) - Jetzt verbinden

29.03.2010 um 15:45 Uhr, 6191 Aufrufe, 8 Kommentare

Olá @ all

beim Frühjahrsputz in unseren Servern habe ich einige sehr alte Scripte entdeckt die bei uns wichtige Sachen nochmals spiegeln.
Beispielscript unten.

Leider gefällt mit das mit der Batch aber nicht mehr so.
Die Batch schreibt immer dann eine Email wenn Sie durchgelaufen ist.
Wenn ein Fehler auftritt bekomm ich keine Mail!
Das ist nicht schön - ich hätte es gern anders rum - bin aber kein "batcher".

Meine Idee wäre ja mit II zu arbeiten. (Befehl copy II Send Mail)
Ich weiss aber nicht genau wo ich konkret II einbauen muss.


Vielleicht hat jemand einen Tipp


Danke im Voraus.


Bsp:


01.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
02.
:: Copy von Server DATEN nach Server BACKUP auf Windows Server 2008 - Backup per Mirroring 
03.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
04.
 
05.
::Pfadvaribale für Blat Mailer setzen 
06.
SET PATH=%PATH%;C:\Batches\Blat\ 
07.
set time-begin=%time:~0,8% 
08.
set date-begin=%date% 
09.
 
10.
:: Dateien spiegeln mit zuwachs (kein löschen und nur hinzufügen) 
11.
 
12.
robocopy.exe "w:" "d:\administration" /MIR /R:10 /ZB /DCOPY:T /TEE /LOG:"d:\robolog_mir_administration.log" /NP /V 
13.
robocopy.exe "\\server3\netlogon$" "D:\Netlogon Kopie" /MIR /R:10 /ZB /DCOPY:T /TEE /LOG:"D:\robolog_mir_netlogon.log" /NP /V 
14.
robocopy.exe "\\server3\deploy$" "D:\Deploy" /MIR /R:10 /ZB /DCOPY:T /TEE /LOG:"D:\robolog_mir_deploy.log" /NP /V 
15.
robocopy.exe "g:" "d:\framework" /MIR /R:10 /ZB /DCOPY:T /TEE /LOG:"d:\robolog_mir_framework.log" /NP /V 
16.
	 
17.
 
18.
::Mail verschicken das Batch fertig 
19.
		 
20.
set time-end=%time:~0,8% 
21.
set date-end=%date% 
22.
echo Backup Mirror Admin-Server2 Ende - vom %date-begin% - %time-begin::=:% Uhr bis %date-end% - %time-end::=:% Uhr | Blat.exe -priority 1 -to adminuser@domain.de -server smtp.domain.de -u adminuser@domain.de -pw K5EeiMB7 -debug -timestamp -log blatSMTPlog.txt -subject "Backup Mirror Admin-Server2 Ende - vom %date-begin% - %time-begin::=:% Uhr bis %date-end% - %time-end::=:% Uhr " 
23.
 
Mitglied: Snowman25
29.03.2010 um 15:58 Uhr
Hallo photographix,

probiers mal so:
01.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
02.
:: Copy von Server DATEN nach Server BACKUP auf Windows Server 2008 - Backup per Mirroring 
03.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
04.
 
05.
::Pfadvaribale für Blat Mailer setzen 
06.
SET PATH=%PATH%;C:\Batches\Blat\ 
07.
set time-begin=%time:~0,8% 
08.
set date-begin=%date% 
09.
set /A fail=0 
10.
 
11.
:: Dateien spiegeln mit zuwachs (kein löschen und nur hinzufügen) 
12.
 
13.
robocopy.exe "w:" "d:\administration" /MIR /R:10 /ZB /DCOPY:T /TEE /LOG:"d:\robolog_mir_administration.log" /NP /V 
14.
call check 
15.
robocopy.exe "\\server3\netlogon$" "D:\Netlogon Kopie" /MIR /R:10 /ZB /DCOPY:T /TEE /LOG:"D:\robolog_mir_netlogon.log" /NP /V 
16.
call check 
17.
robocopy.exe "\\server3\deploy$" "D:\Deploy" /MIR /R:10 /ZB /DCOPY:T /TEE /LOG:"D:\robolog_mir_deploy.log" /NP /V 
18.
call check 
19.
robocopy.exe "g:" "d:\framework" /MIR /R:10 /ZB /DCOPY:T /TEE /LOG:"d:\robolog_mir_framework.log" /NP /V 
20.
call check 
21.
	 
22.
 
23.
::Mail verschicken wenn fail=1 
24.
if %fail%==1 ( 
25.
set time-end=%time:~0,8% 
26.
set date-end=%date% 
27.
echo Backup Mirror Admin-Server2 FEHLER - vom %date-begin% - %time-begin::=:% Uhr bis %date-end% - %time-end::=:% Uhr | Blat.exe -priority 1 -to adminuser@domain.de -server smtp.domain.de -u adminuser@domain.de -pw K5EeiMB7 -debug -timestamp -log blatSMTPlog.txt -subject "Backup Mirror Admin-Server2 FEHLER - vom %date-begin% - %time-begin::=:% Uhr bis %date-end% - %time-end::=:% Uhr " 
28.
goto theend 
29.
30.
 
31.
:check 
32.
if %ERRORLEVEL% GTR 0 set /A fail=1 
33.
 
34.
:theend
ungetestet

Gruß
Snow
Bitte warten ..
Mitglied: bastla
29.03.2010 um 16:41 Uhr
@Snowman25

Sollte nicht (ganz ohne Unterprogramm) ein
set "fail=" 
robocopy ... || set "fail=True" 
... 
if defined fail ( ...
oder alternativ nach jedem "robocopy" ein
if errorlevel 1 set "fail=True"
genügen?

Außerdem wäre es ratsam, die Variablen %time-end% und %date-end% vor dem "if" (= außerhalb der Klammer) zu erstellen (da ansonsten "delayedExpansion" erforderlich wäre) ...

Grüße
bastla
Bitte warten ..
Mitglied: Snowman25
29.03.2010 um 17:00 Uhr
Zitat von bastla:
nach jedem "robocopy" ein if errorlevel 1 set "fail=True" > genügen?
ungefähr so hatte ich es anfangs auch, aber i-wie hat mir das nicht gefallen...
Ich setzte fail auf 1 bzw. 0 um einfach konsistent zu bleiben. So kommt mir der Programmierstil doch wesentlich sauberer und selbsterklärender vor.
Außerdem wäre es ratsam, die Variablen %time-end% und %date-end% vor dem "if" (= außerhalb der
Klammer) zu erstellen (da ansonsten "delayedExpansion" erforderlich wäre) ...
Da spricht eigentlich nichts dagegen. Wie vorhin schon geschrieben ist das Script ja ungetestet.


Hier also nochmal die korrigierte Version:
01.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
02.
:: Copy von Server DATEN nach Server BACKUP auf Windows Server 2008 - Backup per Mirroring 
03.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
04.
 
05.
rem Pfadvaribale für Blat Mailer setzen 
06.
SET PATH=%PATH%;C:\Batches\Blat\ 
07.
set time-begin=%time:~0,8% 
08.
set date-begin=%date% 
09.
set /A fail=0 
10.
 
11.
:: Dateien spiegeln mit zuwachs (kein löschen und nur hinzufügen) 
12.
 
13.
robocopy.exe "w:" "d:\administration" /MIR /R:10 /ZB /DCOPY:T /TEE /LOG:"d:\robolog_mir_administration.log" /NP /V 
14.
if %ERRORLEVEL% GTR 0 set /A fail=1 
15.
robocopy.exe "\\server3\netlogon$" "D:\Netlogon Kopie" /MIR /R:10 /ZB /DCOPY:T /TEE /LOG:"D:\robolog_mir_netlogon.log" /NP /V 
16.
if %ERRORLEVEL% GTR 0 set /A fail=1 
17.
robocopy.exe "\\server3\deploy$" "D:\Deploy" /MIR /R:10 /ZB /DCOPY:T /TEE /LOG:"D:\robolog_mir_deploy.log" /NP /V 
18.
if %ERRORLEVEL% GTR 0 set /A fail=1 
19.
robocopy.exe "g:" "d:\framework" /MIR /R:10 /ZB /DCOPY:T /TEE /LOG:"d:\robolog_mir_framework.log" /NP /V 
20.
if %ERRORLEVEL% GTR 0 set /A fail=1 
21.
 
22.
set time-end=%time:~0,8% 
23.
set date-end=%date% 
24.
 
25.
rem Mail verschicken wenn fail=1 
26.
if %fail%==1 ( 
27.
echo Backup Mirror Admin-Server2 FEHLER - vom %date-begin% - %time-begin::=:% Uhr bis %date-end% - %time-end::=:% Uhr | Blat.exe -priority 1 -to adminuser@domain.de -server smtp.domain.de -u adminuser@domain.de -pw K5EeiMB7 -debug -timestamp -log blatSMTPlog.txt -subject "Backup Mirror Admin-Server2 FEHLER - vom %date-begin% - %time-begin::=:% Uhr bis %date-end% - %time-end::=:% Uhr " -body "Es sind Fehler aufgetreten. Bitte folgende logfiles ueberpruefen: D:\robolog_mir_administration.log D:\robolog_mir_netlogon.log D:\robolog_mir_deploy.log D:\robolog_mir_framework.log" 
28.
)
Bitte warten ..
Mitglied: bastla
29.03.2010 um 17:11 Uhr
@Snowman25
Ich setzte fail auf 1 bzw. 0 um einfach konsistent zu bleiben. So kommt mir der Programmierstil doch wesentlich sauberer und selbsterklärender vor.
"defined" (egal ob "True" oder 1 enthalten ist) oder "not defined" würde ich auch als konsistent betrachten ...

Der Hauptgrund, warum ich zuletzt vorrangig diese Variante verwende: Auf "defined" kann auch innerhalb einer Struktur (zB "for"-Schleife) geprüft werden, ohne "delayedExpansion" verwenden zu müssen.

Grüße
bastla
Bitte warten ..
Mitglied: photographix
06.04.2010 um 06:17 Uhr
Olá@all

War im verlängerten Oster-Weekend.
Feedback zur Batch kommt noch diese Woche.
Danke vorab fürs helfen.

Nice Week.

LG
Bitte warten ..
Mitglied: photographix
07.04.2010 um 13:41 Uhr
So nun mein Fazit:

Das Script funktioniert soweit ganz gut ABER die Version 026 von Robocopy (XP) hat ein Problem bei der Fehlerrückgabe.
Bsp: Laufwerk überhaupt nicht da -> Error 0 ??

Die Version 010 (2k) von Robocopy bring dort einen Fehler den ich abfangen kann.
Kann dafür aber nicht mit der Option /DCOPY:T arbeiten.

Die Version 027 (Vista/Win7) geht gar nicht unter XP...

Naja mal sehen was ich nun mache.

Trotzdem danke fürs rege Feedback.
Bitte warten ..
Mitglied: Snowman25
07.04.2010 um 13:54 Uhr
sind die Ordner-timestamps denn Überlebenswichtig? Höchstwahrscheinlich werden die sowieso von niemandem beachtet..
Bitte warten ..
Mitglied: photographix
07.04.2010 um 14:08 Uhr
Sagen wir so jain ^^

Man kann daran aber noch sehen wann einmal ein Ordner erstellt wurde und so finden wir ab und zu mal richtige Leichen.

Eventuell könnte man das mit Delage -> Datei löschen -> und dann später leere Ordner löschen lassen
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Wie kann ich eine Mail über Blat versenden mit Batch
gelöst Frage von Dreamkiller112Batch & Shell8 Kommentare

Hallo, Hey ich benötige drigend Hilfe ich habe das Problem ich möchte eine Batch-Datei erstellen mit der ich eine ...

Batch & Shell
Email per Batch versenden
gelöst Frage von goodbytesBatch & Shell12 Kommentare

Hallo, bisher nutzte ich immer SendMail.exe zum Versenden von Benachrichtigungen aus einer Batch heraus. Nun ist mittlerweile bei den ...

PHP
PHP mail() Datei versenden
gelöst Frage von simon-niPHP3 Kommentare

Hallo Leute, ich habe ein kleines PHP Script zum versenden eines Formulars geschrieben/zusammenkopiert (bin leider PHP Anfänger). Das hat ...

E-Mail
HMail Server: kann keine Mails versenden
gelöst Frage von qualidatE-Mail

Eigentlich ist es nicht das erste Mal, dass ich einen HMail Server einrichte, diesmal ist es wie verhext. Also ...

Neue Wissensbeiträge
Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 2 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 4 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Sicherheit

Teamviewer Sessions können gekapert werden - Update tw. verfügbar

Information von sabines vor 4 TagenSicherheit6 Kommentare

In bestimmten Konstellationen können Teamviewer Sessions gekapert werden, wahrscheinlich aber ein recht unwahrscheinliches Szenario. Da der Teamviewer gerne für ...

Digitiales Fernsehen

Apple TV: Amazon Prime App ist verfügbar

Information von Frank vor 4 TagenDigitiales Fernsehen4 Kommentare

Die Amazon Prime Video App kann ab sofort auf einem Apple TV ab der 3 Generation installiert werden. Einfach ...

Heiß diskutierte Inhalte
Vmware
Installation Windows 10 VMware
Frage von Ghost108Vmware17 Kommentare

Hallo zusammen, versuche gerade mit Hilfe des vshpere clients eine virtuelle Windows 10 maschine aufzusetzen. 1. virtuelle Maschine erstellt ...

Exchange Server
SBS 2011 E-Mails können gesendet werden, aber nicht von extern empfangen
Frage von andreas1234Exchange Server14 Kommentare

Hallo Community, ich habe das Problem, dass seit knapp zwei Wochen die E-Mails von meinem SBS 2011 einwandfrei gesendet ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Windows Server
Server 2012 über Eingabeaufforderung devmgmt.msc geht nicht
gelöst Frage von achim222Windows Server9 Kommentare

Hallo, ich habe hier einen Server 2012 der im Reparaturmodus startet. Es liegt an einem falschen VirtIO Treiber für ...