Datenbanksicherung - alte Sicherungen automatisiert löschen

AKO

Gut bekanntes Mitglied
26. Juni 2010
302
6
Im Wiki ist unter 17.1.3 beschrieben, wie man ein automatisches Backup der JTL-Datenbank einrichtet. Das klappt auch alles super.

Allerdings ist der Speicherbedarf bei einem täglichen Backup schon beachtlich.
Hat jemand genug Kenntnisse von Batch-Befehlen, um alle Backups, die älter als eine Woche sind automatisch wieder aus dem Sicherungsverzeichnis zu löschen? Das müsste m.E. etwa so aussehen:
Code:
del *.bak - "wenn älter als 1 Woche"

Das würde bei unserer mehrstufigen Sicherungsstrategie einiges automatisieren! Bisher müssen ältere Sicherungsdaten laufend per Hand gelöscht werden, was lästig ist.
 

AKO

Gut bekanntes Mitglied
26. Juni 2010
302
6
AW: Datenbanksicherung - alte Sicherungen automatisiert löschen

hat keiner eine Idee?
 

D********t

Guest
AW: Datenbanksicherung - alte Sicherungen automatisiert löschen

Würde mich auch interessieren...die Altbestände ab und an mal manuell zu löschen, da denkt man nicht immer dran...
 

gboehm

Sehr aktives Mitglied
30. Januar 2011
1.057
87
AW: Datenbanksicherung - alte Sicherungen automatisiert löschen

Mit Bordmitteln geht das unter Windows leider nicht wirklich einfach.
Entweder benötigt man das Windows Resourcekit und benutzt dann FORFILES.EXE

forfiles /m testfile.txt /c "cmd /c Del *.*t " /d -5

Sollte alle *.BAK files löschen die 30 Tage oder älter sind.


Alternativ kann man die GNU utilities (GNU utilities for Win32 1.2) installieren und hat dann auch unter Windows Zugriff auf einige mächte UNIX Kommandos.
Das währe das Unixlike Äquivalent:


find /my_directory -mtime +30 -exec rm {} \;

Die GNU Utilities gibt es u.A. bei Heise

Gruss,

guido
 

ag-websolutions.de

Sehr aktives Mitglied
29. Dezember 2009
14.548
232
AW: Datenbanksicherung - alte Sicherungen automatisiert löschen

sofern WSH (windows scripting host) installiert ist, gehts auch mit ner entsprechenden VisualBasic-Datei
 

misterGST

Sehr aktives Mitglied
23. September 2007
344
34
AW: Datenbanksicherung - alte Sicherungen automatisiert löschen

Eine "unkomplizierte" Lösung wäre, den Job einer Software zu überlassen.

Ich nutze SQLBackupAndFTP zur automatischen DB-Sicherung. Diese löscht auch die alten Sicherungen (einstellbar: älter als x Tage). Man kann außerdem auch ZIP-komprimiert auf einem FTP-Server sichern ...

NEU in Version 6: Nun auch differentielle backups möglich! + Aufgabenplaner als Windows-Dienst ...
In der FREE-Version mit Einschränkung: Nur bis zu 2 Datenbanken, keine Verschlüsselung und kein FTPS
Hier der Link: Free SQL backup software for MSSQL Server 2008 and MS SQL Server 2005 Express databases

SQLBackupAndFTP
creates MS SQL Server database backups
Zips, Encrypts and FTPs the database backups
Automates to run on Schedule
Sends e-mail confirmations
Makes full, differential or transaction log backups, runs custom scripts, backups file folders, allows to view the results on the web and more.

Restore habe ich noch nicht getestet. Sollte "hoffentlich" funktionieren :-O

Gruß Georg
 

Dan

Aktives Mitglied
20. Januar 2010
255
2
AW: Datenbanksicherung - alte Sicherungen automatisiert löschen

Hi,

das geht auch ganz einfach in der .bat ohne irgendwelche Hilfsmittel:

set Anzahl=3
set "Ordner=PfadZumBackupordner"
for /f "skip=%Anzahl% delims=" %%i in ('dir /b /a-d /o-d "%Ordner%"') do del "%Ordner%\%%i"

In diesem Fall werden z.B. nur die drei neusten im Ordner vorhandenen Dateien aufbewahrt. "PfadZumBackupordner" ist natürlich mit dem tatsächlichen Pfad zu ersetzen.
Für mehrere Mandanten würden mehrere Ordner durchnummeriert und mit den unterschiedlichen Pfaden versehen.


Viele Grüße
Dan
 
  • Gefällt mir
Reaktionen: cansson und marfitec

iwea-trading

Aktives Mitglied
12. August 2011
53
0
AW: Datenbanksicherung - alte Sicherungen automatisiert löschen

Hallo,

bin gerade auf dieses Thema gestoßen und beziehe mich auf Dans Vorschlag mit der automatisierten Löschung durch:

set Anzahl=3
set "Ordner=PfadZumBackupordner"
for /f "skip=%Anzahl% delims=" %%i in ('dir /b /a-d /o-d "%Ordner%"') do del "%Ordner%\%%i"

Funktioniert bei mir nicht! Das Dos fenster öffnet sich für einen Bruchteil einer Sekunde, aber die Dateien sind alle noch vorhanden und nicht die 3 neusten, wie es eigentlich sein sollte. Die automatische Sicherung an sich per .bat funktioniert super, allerdings sollten die Daten schon nach und nach auch automatisch gelöscht werden.

Was mache ich falsch?
 

iwea-trading

Aktives Mitglied
12. August 2011
53
0
AW: Datenbanksicherung - alte Sicherungen automatisiert löschen

Weiß niemand Rat? Bei meinem Überposter hat es ja scheinbar auch funktioniert.

Wäre super, wenn jemand weiter weiß ..
 

Dan

Aktives Mitglied
20. Januar 2010
255
2
AW: Datenbanksicherung - alte Sicherungen automatisiert löschen

Hast Du "PfadZumBackupordner" durch den richtigen Pfad ersetzt?
Schließe die .bat mal mit einem "pause" ab, dann sieht Du evtl. wo das Problem liegt.
 

wawi-dl

Sehr aktives Mitglied
29. April 2008
5.956
573
AW: Datenbanksicherung - alte Sicherungen automatisiert löschen

Es hat sich einfach nur ein kleiner Fehler eingeschlichen, wenn du am Ende "Pause" setzt, will er immer die Datei "/bla" löschen, der Slash ist zu viel!

So sollte es klappen ....
Code:
set Anzahl=3
set "Ordner=PfadZumBackupordner"
for /f "skip=%Anzahl% delims=" %%i in ('dir /b /a-d /o-d "%Ordner%"') do del "%Ordner%%%i""
 

iwea-trading

Aktives Mitglied
12. August 2011
53
0
AW: Datenbanksicherung - alte Sicherungen automatisiert löschen

Danke für eure Antworten.

Leider funktioniert es immer noch nicht .. hier mal ein Screenshot.
backup.jpg

Was ist denn nun noch verkehrt? :l
 

Anhänge

  • backup.jpg
    backup.jpg
    68,5 KB · Aufrufe: 60

wawi-dl

Sehr aktives Mitglied
29. April 2008
5.956
573
AW: Datenbanksicherung - alte Sicherungen automatisiert löschen

Sorry, aber was tust du denn mit dem Script? Du verbiegst ja alles :)

Schau mal wie du es abspeicherst, CMD kann dein Format nicht lesen wie es scheint, mit Editor öffnen und speichern.
 

iwea-trading

Aktives Mitglied
12. August 2011
53
0
AW: Datenbanksicherung - alte Sicherungen automatisiert löschen

Ich speichere es als .bat Datei ab, mit UTF-8. Habe zumindest gelesen, dass man es so abspeichern soll.
Sonst wäre es wohl am einfachsten, wenn mir jemand die Datei einfach schnell hochlädt? Bevor ich anscheinend noch mehr falsch mache :D
 

wawi-dl

Sehr aktives Mitglied
29. April 2008
5.956
573
AW: Datenbanksicherung - alte Sicherungen automatisiert löschen

Anzahl und Pfad ändern ...
Datei umbenennen in *.bat und in Backup Ordner selbst legen

wenn alles klappt, "Pause" entfernen und speichern
 

Anhänge

  • JTL-DB-Purge.txt
    143 Bytes · Aufrufe: 64

Ähnliche Themen