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

Batchdatei - Löschen von älteren Sicherungen mit wbadmin

Frage Entwicklung Batch & Shell

Mitglied: PaceLu

PaceLu (Level 1) - Jetzt verbinden

04.06.2010, aktualisiert 18.10.2012, 8036 Aufrufe, 5 Kommentare

Das löschen von älteren Sicherungen von meinem Sicherungsskript geht nicht

Hallo Zusammen

Ich wäre froh wenn ihr mir mit meine Batchfile helfen könnt.
Mein Batchfile hat die Aufgabe eine Sicherung mit wbadmin auf ein RDX-Band zu machen.
Die Sicherung geht auch ohne Probleme, jedoch habe ich Probleme mit dem löschen.

In diesem Skript habe ich eingebaut, dass es ein Ordner mit Zeit und Datum generiert und dass er die Sicherungen, welche 3 Monate alt sind, löscht.
Jetzt möchte ich gerne, dass er die Sicherungen, welche älter als 5 Tagen sind, löscht. Kann mir jemand helfen?

Mein Skript sieht folgendermassen aus:

01.
@echo off 
02.
@title Datensicherung  
03.
@color 1F  
04.
 
05.
rem ##################################################  
06.
rem #  WBAdmin-Sicherung auf RDX  (v0.1)             #  
07.
rem #              *********************             #  
08.
rem ##################################################  
09.
 
10.
rem Name des Servers  
11.
set Backupname=%COMPUTERNAME% 
12.
 
13.
rem Datensicherung nach \\%Backupname%\Sicherung (auf RDX)  
14.
set backupdir=\\%Backupname%\Sicherung\ 
15.
 
16.
 
17.
 
18.
rem ##########################################################  
19.
rem #                    Start Sicherung	             #  
20.
rem ##########################################################  
21.
 
22.
 
23.
 
24.
rem ### Datensicherung ### 
25.
 
26.
 
27.
rem **** Zeitstempel-String erzeugen **** 
28.
 
29.
for /f "Tokens=1-4 Delims=/. " %%i in ('date /t') do  set dt=%%i-%%j-%%k-%%l 
30.
for /f "Tokens=1" %%i in ('time /t') do set tm=-%%i 
31.
set tm=%tm::=-% 
32.
set dtt=%dt%%tm% 
33.
 
34.
rem **** Sicherung starten ***** 
35.
 
36.
rem Verzeichnis erstellen, wenn nicht vorhanden 
37.
if not exist "%backupdir%\%dtt%" md "%backupdir%\%dtt%" 
38.
 
39.
rem Sicherung ausführen mit wbadmin 
40.
wbadmin start backup -quiet -backuptarget:"%backupdir%\%dtt%" -include:c:,d: 
41.
 
42.
 
43.
 
44.
 
45.
rem ********************************************************  
46.
rem * Löschen von älteren Daten				   *  
47.
rem ********************************************************  
48.
 
49.
for /f "delims=- tokens=2,3" %%a in ("%dtt%") do set "monat=%%a" &set /a jahr=%%b   
50.
 
51.
if %monat:~,1%==0 set "monat=%monat:~1%"   
52.
 
53.
set /a monat-=7   
54.
 
55.
if %monat% lss 1 (   
56.
   
57.
	set /a monat+=3   
58.
   
59.
	set /a jahr-=1   
60.
	 
61.
	)   
62.
 
63.
if %monat% lss 10 set "monat=0%monat%"   
64.
 
65.
set "pattern=[0-3]*[0-9]-%monat%-%jahr%-"   
66.
 
67.
pushd "%backupdir%"   
68.
 
69.
for /d %%a in (*) do (echo %%a|findstr /r /c:"^%pattern%">nul&& rd /s /q "%%a")   
70.
 
71.
popd
[Edit Biber] Codeformatierung [/Edit]
Mitglied: Biber
04.06.2010 um 13:11 Uhr
[Edit --- Kommentar gegenstandslos -- hatte die Frage falsch verstanden. Bitte einfach ignorieren. --- /Edit]

Moin PaceLu,

sieht doch erstmal ganz unverdächtig aus, dein Schnipsel.

Wenn der vorangegangene Sicherung-Teil das tut, was er soll und entsprechend auch Unterverzeichnisse der Konvention "tt-mm-jjjj-uhrzeit" anlegt,
dann würde der Rest unten auch passen

>set "pattern=[0-3]*[0-9]-02-2009-" 
 
>dir /b /a:D|findstr /r /c:"^%pattern%" 
13-02-2009-uhrzeit

--> Allerdings wüssten wir genauer, wo es in die Grütze geht, wenn du
  • nach der jetzigen Zeile 65 mal ein einbaust "echo [zeile65] %cd%" --ohne Anführungszeichen--
  • vor die jetzige Zeile 69 einbaust. for /d %%a in (*) do (echo %%a|findstr /r /c:"^%pattern%"
Damit wir mal sehen, was da unten denn ankommt.

Ich kann mir nur vorstellen, dass evtl der Registryparameter "DisableUNCCheck" nicht gesetzt ist (siehe Forumssuche) und deshalb PushD/popD nicht klappt.

Grüße
Biber
Bitte warten ..
Mitglied: LotPings
04.06.2010, aktualisiert 18.10.2012
Moin Biber,

ich glaube PaceLu's Probleme beruhen eher darauf, die "älter als 3Monate" auf "älter 5 Tage" umzustellen.
Grundsätzlich bin der Meinung das, wer ein nicht sortierfähiges Datumsformat nutzt, die daraus resultierenden Probleme verdient hat.

Da Batch ohne 3rd Party Tools für Datumsberechnungen nach wie vor schlecht geeignet ist, sei hier nur auf deine Anleitung Batch for Runaways Part III und date.exe aus den GnuWin32 shell Utilities oder datex.exe von Bill Stewart verwiesen, mit deren Hilfe ein Datum -5 tage berechnet werden kann.
Bei einem geeigneten Datum wäre ein Dir ausreichend, bei dem hier vorliegenden muss für jede Datei tt-mm-jjjj in jjjj-mm-tt umgestellt werden um einen kleiner Vergleich zu erlauben.

Gruß
LotPings
Bitte warten ..
Mitglied: 90776
04.06.2010 um 14:56 Uhr
wie wärs mit forfiles?

Gruss

Switcher
Bitte warten ..
Mitglied: LotPings
04.06.2010 um 15:19 Uhr
Zitat von 90776:
wie wärs mit forfiles?

Ähnlich wie delage32 arbeitet das nicht in allen Windows Versionen enthaltene forfiles nach dem Dateidatum, nicht nach dem hier geforderten im Namen enthaltenen Datum.

Gruß
LotPings
Bitte warten ..
Mitglied: Biber
04.06.2010 um 15:50 Uhr
Moin LotPings,

Zitat von LotPings:
Moin Biber,

ich glaube PaceLu's Probleme beruhen eher darauf, die "älter als 3Monate" auf "älter 5 Tage" umzustellen.

Jepp, hast vollkomen Recht... ich hatte die Fragestellung in der Tat zu flüchtig überflogen... den wesentlichen Satz gar nicht wahrgenommen.

Insofern ich mein Kommentar vollkommen am Thema vorbei und kann gefahrlos überlesen werden.

Jetzt, nachdem ich glaube verstanden zu haben, um was es denn hier eigentlich geht, kann ich deinen Ausführungen inhaltlich nichts hinzufügen.
Full ACK.

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Batchdatei für Aufgabenplanung zum Löschen von Backups (2)

Frage von Winuser zum Thema Batch & Shell ...

Microsoft Office
gelöst Excel VBA In Userform Maske Text nach Eingabe löschen (1)

Frage von kluthi69 zum Thema Microsoft Office ...

Exchange Server
Exchange postfach löschen wenn AD Konto nicht mehr exisitiert (8)

Frage von MultiStorm zum Thema Exchange Server ...

Windows 7
Gesperrte OneDrive Datei lässt sich nicht löschen (3)

Frage von malika zum Thema Windows 7 ...

Neue Wissensbeiträge
Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Router & Routing

PfSense auf Supermicro Intel Xeon D-15x8 SoC Bare Bone

Tipp von Dobby zum Thema Router & Routing ...

Windows Server

Exchange 2010 auf Windows Server 2016 und AD

(2)

Tipp von Herbrich19 zum Thema Windows Server ...

KVM

How to: Libvirt Port forwarding

(2)

Anleitung von fundave3 zum Thema KVM ...

Heiß diskutierte Inhalte
Router & Routing
über Vmware auf eine FritzBox mit IPv6 per VPN (17)

Frage von Zockervogel zum Thema Router & Routing ...

Basic
Programmierung von Windows Programmen (9)

Frage von Ghost108 zum Thema Basic ...

Voice over IP
VoIP und DECT an Fritz Accesspoint (7)

Frage von Katosix zum Thema Voice over IP ...