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, 7992 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 ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Exchange Server
gelöst SBS2011 - im Exchange mobile Geräte löschen (4)

Frage von MiSt zum Thema Exchange Server ...

Exchange Server
Inhalt von Postfächern in Exchange löschen (9)

Frage von m.reeger zum Thema Exchange Server ...

iOS
SPAM Einladungen im iCloud Kalender löschen (1)

Tipp von Frank zum Thema iOS ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (14)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...