Log archivieren bis auf die letzten drei

F

free2k

Grünschnabel
Hallo,

ich möchte ein Script schreiben, dass mir alles Accesslogs archiviert, bis auf die letzten drei.

Bisher mache ich das manuel, würde aber gerne ein Script dafür haben. Ich arbeite unter Solaris

Heir mal meine manuelle Abfolge:

Code:
cd /logs
ls -ltr acces* > 1.log
awk '{print $9}' 1.log > 2.log
vi 2.log (manuell die letzten 3 Zeilen löschen)
%s/^/mv /g
%s/$/ /archive /g
./2.log

Es verschiebt alle access.logs nach /archive und lässt nur die letzten 3 (vom Datum her) im bestehenden Ordner erhalten.

Kann man das eleganter machen?

Über jede Hilfe bin ich dankbar!

mfg,
free2k
 
logrotate ist bei uns disabled und nicht so leicht durchzusetzen :-/
 
Standard bei Solaris sollte doch eher "logadm" statt "logrotate" sein, oder irre ich mich da? Wenn das für deine Zwecke nicht ausreicht, könnte man sich aber auch aus ls, sed (oder head/tail) und xargs etwas basteln, wie
Code:
cd /logs
ls -tr access.* | sed '1,3d' | xargs -n 1 -I {}  mv {} archive
oder so ...

Gruss
 
Hallo,
ja logadm gibt es.

Das script sieht schonmal gut aus.
Allerdings bleiben da nicht die 3 neuesten, sondern die 3 ältestens access-logs übrig.
 
Allerdings bleiben da nicht die 3 neuesten, sondern die 3 ältestens access-logs übrig.
Dan drehst Du einfach die Ausgabe vorher um.....
Code:
cd /logs
ls -tr access.* [B]| tac [/B]| sed '1,3d' | xargs -n 1 -I {}  mv {} archive
(tac = cat ---- aber eben nur umgedreht...)
 
Tac ist bei uns auch deaktiviert.
Sorry, aber bin leider nicth so der Shellexperte. :-/
 
Habe ich wohl nicht genau genug überlegt ;) ... ist aber klar, "ls -tr" liefert die ältesten Dateien zuerst, und wenn ich davon die ersten 3 lösche ...

Lösung ist aber ganz einfach: lass einfach die Option "r" beim ls weg; dann sollte
Code:
ls -t access.* | sed '1,3d' | xargs -n 1 -I {}  mv {} archive
deinen Vorstellungen schon etwas näher kommen ...

Gruss
 
Danke,
das sieht gut aus....
 
Zuletzt bearbeitet:

Ähnliche Themen

Letzten Tag löschen

Installing GENTOO 2008.0 on a QEMU DISK IMAGE (and KDE4).

Amavis & Benachrichtigungen

Samba als PDC [Short-HOWTO]

Zurück
Oben