Archiv verlassen und diese Seite im Standarddesign anzeigen : nach datum löschen
wie könnte eine Skript-Anweisung heissen die mir jeweils die neusten fünf dateien (logging) beibehält und die rechstlichen löscht, egal ob zeitstempel oder Datum in Dateiname.
Bin dankbar um jeden Input
Jan Krüger
01.04.2004, 16:34
Bei mir funktioniert folgendes gut (löscht nach Zeitstempel):
ls -1rt | head -n -6 | xargs rm
Ich garantiere aber für nichts, also vor dem Testen bitte ein Backup machen. ;)
Hab nun exakt das gefunden was ich gesucht habe, das ganze dient als logfile Rotation. Nur ist das bestehende in Perl geschrieben!
ist jemand fähig dazu, dieses script in shell umzuschreiben bzw so nett um das zu tun?! :rolleyes:
wäre echt sehr dankbar!
#!/usr/local/bin/perl
$LOGPATH='/usr/local/apache/logs';
@LOGNAMES=('access_log','error_log','referer_log','agent_log');
$PIDFILE = 'httpd.pid';
$MAXCYCLE = 4;
chdir $LOGPATH; # Change to the log directory
foreach $filename (@LOGNAMES) {
for (my $s=$MAXCYCLE; $s >= 0; $s-- ) {
$oldname = $s ? "$filename.$s" : $filename;
$newname = join(".",$filename,$s+1);
rename $oldname,$newname if -e $oldname;
}
}
kill 'HUP',`cat $PIDFILE`;
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.