Thread Poard: Loeschscript gesucht
(12 answers)
Opened by Strat at 2007-12-16 14:03
Hallo Leute,
habe gerade auf dem Server wieder alte Backups geloescht, und anstelle von 9% sind auf der Festplatte jetzt wieder ueber 50% der Festplatte frei, und der Plattenplatz muesste wieder fuer die naechsten 2-4 Monate reichen. Hat wer Lust, dafuer ein kleines Perl-Script zu schreiben, das via cronjob ausgefuehrt wird? Das ist eine nette Uebungsaufgabe, und ich gebe gerne einen Code-Review. Verzeichnis der Backup-Dateien: /sc/backup/ Dateimuster: my( $web, $date ) = $file =~ /^(\w+)\_(\d+)\-\d+\.tar.gz$/; Dateien, die nicht dieses Format haben, sollen einfach ignoriert werden. Datumsformat: YYYYmmdd z.B. Quote Jeden Tag wird eine Backupdatei pro web erzeugt. Ich will jedoch nur die folgenden Dateien behalten: x) Die Dateien $date =~ /^(\d\d\d\d\d\d[0,1,2]1$/ # 01. 11. 21. Tag x) [s]zusaetzlich sollen die Backups der letzten paar Tage verfuegbar sein, z.B. wenn heute der 16.12.2007 ist, dann sollen auch die Dateien seit dem 11.12.2007 liegen bleiben). Wenn heute erst der 12.12.2007 waere, sollten alle ab dem 01.12.2007 liegen bleiben.[/s] Update: die Dateien der letzten 5 Tage sollen auch ueberleben x) zusaetzlich koennten vielleicht auch alle Dateien vom 11. und 21. geloescht werden, die aelter als 6 Monate sind. x) Die geloeschten Dateien sollten in /sc/deleteFiles.log mitprotokolliert werden. Update:, vielleicht im Format: "$loeschdatum-$zeit\t$datei\n" (fuer's Loeschdatum/Zeit wuerde ich POSIX -> strftime verwenden, z.B. POSIX::strftime( '%Y%m%d-%H%M%S', localtime) ) Wer hat Zeit und Lust? perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/ |