Log archivieren bis auf die letzten drei

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von free2k, 30.06.2010.

  1. free2k

    free2k Grünschnabel

    Dabei seit:
    30.06.2010
    Beiträge:
    5
    Zustimmungen:
    0
    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
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. marce

    marce Kaiser

    Dabei seit:
    01.08.2007
    Beiträge:
    1.053
    Zustimmungen:
    8
    wieso verwendet Du nicht logrotate?
     
  4. free2k

    free2k Grünschnabel

    Dabei seit:
    30.06.2010
    Beiträge:
    5
    Zustimmungen:
    0
    logrotate ist bei uns disabled und nicht so leicht durchzusetzen :-/
     
  5. #4 floyd62, 30.06.2010
    floyd62

    floyd62 Routinier

    Dabei seit:
    01.05.2007
    Beiträge:
    309
    Zustimmungen:
    0
    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
     
  6. free2k

    free2k Grünschnabel

    Dabei seit:
    30.06.2010
    Beiträge:
    5
    Zustimmungen:
    0
    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.
     
  7. HBtux

    HBtux Linuxer

    Dabei seit:
    13.04.2010
    Beiträge:
    72
    Zustimmungen:
    0
    Ort:
    $HOME
    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...)
     
  8. free2k

    free2k Grünschnabel

    Dabei seit:
    30.06.2010
    Beiträge:
    5
    Zustimmungen:
    0
    Tac ist bei uns auch deaktiviert.
    Sorry, aber bin leider nicth so der Shellexperte. :-/
     
  9. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  10. #8 floyd62, 30.06.2010
    floyd62

    floyd62 Routinier

    Dabei seit:
    01.05.2007
    Beiträge:
    309
    Zustimmungen:
    0
    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
     
  11. #9 free2k, 02.07.2010
    Zuletzt bearbeitet: 02.07.2010
    free2k

    free2k Grünschnabel

    Dabei seit:
    30.06.2010
    Beiträge:
    5
    Zustimmungen:
    0
    Danke,
    das sieht gut aus....
     
Thema:

Log archivieren bis auf die letzten drei

Die Seite wird geladen...

Log archivieren bis auf die letzten drei - Ähnliche Themen

  1. Verzeichnisbaum mit tar archivieren.

    Verzeichnisbaum mit tar archivieren.: Hi, hatte jemand von euch schon mal das Problem das mit einem einfachen tar befehl das Betriebs-System fast Komplet zum erliegen gekommen ist...
  2. Tipps zum Transkodieren zu archivierender Videos

    Tipps zum Transkodieren zu archivierender Videos: Hallo zusammen, ich hab mir gerade einen VDR aufgesetzt und überlege nun, wie ich die MPEG2-Streams am besten aufbewahre. Hat jemand von euch...
  3. Dateien nicht älter als 24h finden und archivieren

    Dateien nicht älter als 24h finden und archivieren: Moin, ich versuche mich grad ein bisschen in backup-scripting. Leider scheitert es schon an der kleinsten Sache. Ich möchte, wie im Topic...
  4. Analoge "S-VHS" Videos digital archivieren

    Analoge "S-VHS" Videos digital archivieren: Suche zusätzliche Tipps, um eine qualitativ hochwertige digitale Bearbeitung meiner S-VHS(C) Filmkasetten zu ermöglichen. Hard / Software:...
  5. cyrus-imapd - alte mails loeschen/archivieren

    cyrus-imapd - alte mails loeschen/archivieren: hallo an alle, gerne wuerde ich dem cyrus-imapd alte mails wegnehmen durch löschen/archivieren, da mir regelmaessig die festplatte ueberlaeuft...