backup shell script mit loesch funktion

I

ilja

Foren As
habe einen kleine script geschrieben

Code:
#! /bin/sh

backupdir="/var/backups"

# variables
# laufwerk
STORE="/var/backups"

# zu sichernde Verzeichnisse
BACK="/etc /var/www/ilja"

timestamp=`date +%Y%m%d_%H%M%S`

# Pack
tar -czf ${backupdir}/ilja_${timestamp}.tar.gz $BACK

wie mache ich jetzt mit rm oder andere befehlen, dass nach ablauf dieses scriptes, der backup script loescht vorherige letzte datei? aber es sollen immer 2 oder 3 backup files da bleiben, nur das vorher immer soll geloscht werden!
hat jemand ne idee?

thx,
ilja
 
Hallo
wenn ich dich richtig verstanden habe, suchst du soetwas wie logrotate.
Die primitivste Art, einfach nur das älteste zu löschen ist dir die Dateien auflisten lassen und das jeweils älteste rausfischen und löschen.
etwa so:
...
cd ${backupdir};
DEL=$(ls -A1t ./ilja_* |tail -1);
echo "$DEL wird gelöscht!";
rm -f $DEL;

Hier wird einfach nur das älteste rausgefischt und gelöscht.
Natürlich solltest du da eventuell noch testen, ob die Datei existiert,bzw Schreibrechte hat.
if [ -w $DEL ] ; then...

HTH
Gruß Wolfgang
PS Bei mir regele ich sowas über ein etwas umfangreicheres Perlscript, was ich mal gebastelt habe.
Ansonsten suche mal nach logrotate.
 
Hi,

auch eine gute Backup-Lösung mit Datenbank dabei, macht das suchen einzelner Files für die Wiederherstellung einfach und schnell.
Benötigt MySQL -Server


http://www.bacula.org

Gruß

Blue
 

Ähnliche Themen

Prblem mit zeilenweises auslesen von Datei und schreiben nach mysql

Script zum Bereinigen von Dateien mit Unterverzeichnissen (Schadcode löschen) eilt

Prozess aus eigenem Init script wird gekillt

Shell Script überprüfen

Shell vs. PHP

Zurück
Oben