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

Datensicherung per Batch mit Statusmeldung

Frage Entwicklung Batch & Shell

Mitglied: derausgroenloh

derausgroenloh (Level 1) - Jetzt verbinden

14.01.2009, aktualisiert 11:49 Uhr, 6278 Aufrufe, 5 Kommentare

Hallo,
ich habe ein Problem bei der Erstellung einer Batchdatei.
Die Aufgabe ist folgende:
Ich muss mehrere Netzwerkfreigaben per Robocopy in ein "Arbeitsverzeichnis" kopieren, diese dort per 7-zip verpacken, nen Namen verpassen und dann einmal logs erstellen und zum anderen per bmail (oder vergleichbares) eine Statusmeldung verschicken, die für jeden einzelne Freigabe enthalten soll was gemacht wurde, ob es erfolgreich war und die Pfade sollen enthalten sein.

Soweit bin ich schonmal.

@echo off
rem dieses Script macht eine Datensicherung folgender Freigaben auf dem Linux-Server edv-styx \\edv-styx\EDV\Quartalsicherungen
rem Freigaben auf Indulor-W2K:
rem - Daten
rem - int_sales
rem - ScanFax_Ablage_OG
rem - EDV
rem - Controlling

rem folgende Variablen werden gesetzt
set jahr=%date:~-4%
set monat=%date:~-7,2%
set tag=%date:~-10,2%
set sevenzpath=C:\Programme\7-Zip
set ordner=C:\Testordner\Arbeitsordner
set datumsvariable=%jahr%%monat%%tag%

:del
rem löscht alle Daten aus dem Arbeitsverzeichnis \\Ps-ica-07\Quartalssicherung_Arbeitsordner
del C:\Testordner\Arbeitsordner /f /s /q

:copy_Daten
rem kopiert alle daten aus der Freigabe "Daten" nach \\Ps-ica-07\Quartalssicherung_Arbeitsordner\Daten
robocopy C:\Testordner\indulor-w2k\Daten\ %ordner%\Daten\ /E /R:3 /W:2 /LOG+:%ordner%\%datumsvariable%_Daten.log

:copy_int_sales
rem kopiert alle daten aus der Freigabe "int_sales" nach \\Ps-ica-07\Quartalssicherung_Arbeitsordner\int_sales
robocopy C:\Testordner\indulor-w2k\int_sales\ %ordner%\int_sales\ /E /R:3 /W:2 /LOG+:%ordner%\%datumsvariable%_int_sales.log

:copy_ScanFax_Ablage_OG
rem kopiert alle daten aus der Freigabe "ScanFax_Ablage_OG" nach \\Ps-ica-07\Quartalssicherung_Arbeitsordner\ScanFax_Ablage_OG
robocopy C:\Testordner\indulor-w2k\ScanFax_Ablage_OG\ %ordner%\ScanFax_Ablage_OG\ /E /R:3 /W:2 /LOG+:%ordner%\%datumsvariable%_ScanFax_Ablage_OG.log

:copy_EDV
rem kopiert alle daten aus der Freigabe "EDV" nach \\Ps-ica-07\Quartalssicherung_Arbeitsordner\EDV
robocopy C:\Testordner\indulor-w2k\EDV\ %ordner%\EDV\ /E /R:3 /W:2 /LOG+:%ordner%\%datumsvariable%_EDV.log

:copy_Controlling
rem kopiert alle daten aus der Freigabe "Controlling" nach \\Ps-ica-07\Quartalssicherung_Arbeitsordner\Controlling
robocopy C:\Testordner\indulor-w2k\Controlling\ %ordner%\Controlling\ /E /R:3 /W:2 /LOG+:%ordner%\%datumsvariable%_Controlling.log

:zip
rem komprimiert die Unterordner des Verzeichnises \\Ps-ica-07\Quartalssicherung_Arbeitsordner
for /f "tokens=*" %%i in ('dir "%ordner%" /a:d-r-h-s /b') do "%sevenzpath%\7z" a -t7z "%ordner%\%datumsvariable%_%%i.zip" "%ordner%\%%i\"

funktioniert bis dahin auch wunderbar
mein Problem ist jetzt einmal eine Log-Datei für den :zip Teil zu schreiben und des weiteren automatisch eine Mail zu versenden, in der die erstellten log-Datein angehängt werden und die als Text pro Freigabe wiedergibt, ob die Arbeitsschritte geklappt haben und am besten noch die Namen und Pfade enthält.

Kann mir jemand weiterhelfen?

Danke im Voraus.

Gruß

derausgroenloh
Mitglied: 60730
14.01.2009 um 12:06 Uhr
Servus,

schau dir mal Formatierungshilfe an.

Zu deiner Problemstellung ansich:

Die Ausgabe von 7Z lässt sich auch in eine Datei schreiben

01.
%sevenzpath%\7z" a -t7z "%ordner%\%datumsvariable%_%%i.zip" "%ordner%\%%i\" > ordner\datei.txt 
02.
find "Everything is Ok" ordner\datei.txt && goto mail 
03.
 
04.
:mail 
05.
Rem zum Mailen per Blat.exe oder Bmail oder Postie bitte einen der Programmnamen "suchen" - Anleitungen und die Programme ansich sind ausreichend beschreiben.
Gruß
Bitte warten ..
Mitglied: derausgroenloh
14.01.2009 um 13:42 Uhr
Danke,
das Zipen klappt.
Für die Mailgeschichte gucke ich mir mal die Tipps von dir in ruhe an.
Bitte warten ..
Mitglied: 60730
14.01.2009 um 13:52 Uhr
Gern geschehen:

wenn du es "verfeinern" willst - das ist ja nur ein Ansatz gewesen..

Nehme ich mal dein letztes sub
01.
:zip 
02.
rem komprimiert die Unterordner des Verzeichnises \\Ps-ica-07\Quartalssicherung_Arbeitsordner 
03.
for /f "tokens=*" %%i in ('dir "%ordner%" /a:d-r-h-s /b') do "%sevenzpath%\7z" a -t7z "%ordner%\%datumsvariable%_%%i.zip" "%ordner%\%%i\"
01.
:zip 
02.
echo Ps-ica-07\Quartalssicherung_Arbeitsordner> ordner\datei.txtfor /f "tokens=*" %%i in ('dir "%ordner%" /a:d-r-h-s /b') do "%sevenzpath%\7z" a -t7z "%ordner%\%datumsvariable%_%%i.zip" "%ordner%\%%i\" >> ordner\datei.txt 
03.
find "Everything is Ok" ordner\datei.txt && goto mail 
04.
 
05.
:mail 
06.
 
So steht dann auch im Log, welcher Job gelaufen ist.

Von daher wäre eine logische Schlußfolgerung anstatt einem harten Dateinamen auch die Variable %ordner% für das Log zu nehmen.
Bitte warten ..
Mitglied: derausgroenloh
14.01.2009 um 14:53 Uhr
Ich komme mit dem ersten Ansatz schon gut zurecht.
Aber wo finde ich denn mal die blat.exe?
Bitte warten ..
Mitglied: 60730
14.01.2009 um 15:07 Uhr
Zitat von derausgroenloh:
Aber wo finde ich denn mal die blat.exe?

Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Teile eines Dateinamens ändern mit Batch Datei (4)

Frage von fffffuuuuuuuhhhh zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch: CPU-Auslastung eines Prozesses auslesen und als Variable definieren (2)

Frage von tralveller zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch um Benutzer aus Sitzung abzumelden (15)

Frage von zeroblue2005 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Sicherheits-Tools

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

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

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
Exchange Server
Exchange 2016 Standard Server 2012 R2 Hetzner Mail (36)

Frage von Datsspeed zum Thema Exchange Server ...

Batch & Shell
gelöst ZIP-Archive nach Dateien durchsuchen und Pfade ausgeben (33)

Frage von evinben zum Thema Batch & Shell ...

Verschlüsselung & Zertifikate
Mit Veracrypt eine zweite interne (non-system) Festplatte verschlüsseln (10)

Frage von Bernulf zum Thema Verschlüsselung & Zertifikate ...

C und C++
Methode multiple return values (8)

Frage von mayho33 zum Thema C und C ...