Log-Crons

T

tarcus

Jungspund
Hi zusammen, so möchte folgendes realisieren:

1.) /var/log/messages/ sollte jeden Tag um 0:00 Uhr in einen Unterordner, der erstellt wird nach Name des Monats, kopiert werden noch, besser mit "tar". Die Log sollte dann einfach z.b. 060706.log heissen (Datum)
2.) weiterhin möchte ich alle 4 Stunden die aktuelle messages.log per Mail zugesandt bekommen.

Also den Cron-Job bekomm ich hin. Mein Problem ist nur das Shell-Script von dem ich auch gar keine Ahnung habe.
Den Teil mit der Mail alle 4 Stunden müsste ich doch so hinbekommen oder?
Code:
smail -em -i user@your.domain </var/log/messages

Ich hoffe mir kann das jemand verständlich erklären. Ich möchte hier keinem den Versuch aufdrängen, mir eine Komplettlösung zu liefern, allerdings bin ich, angesichts meiner Shell-Künste, dankbar über jede Vereinfachung die mir ermöglicht wird :)
 
Hallo

Hast du das schon versucht (per Hand)?
Allerdings möchtest du sicher noch ein Subject setzen.
Code:
mail name@domain.tld -s "mein Betreff" <Datei
Was für Headerdaten du angeben kannst, hängt von deinem Mailprogramm ab.
Denk bei cronjobs an die vollen Pfade, sonst geht es eventuell nicht wie erwartet.
Gruß Wolfgang
 
Wenn es Dir nur um eine Loesung der Problemes geht, so koenntest Du vielleicht das Programm logrotate installieren und nutzen. Falls es Dir um den Eigenbau geht, hier vielleicht ein paar Tips:
Code:
#> month=`date +%B`   # speichert aktuellen Monat in Variable month
#> test -d $month || mkdir $month # erstellt das Verzeichnis mit Monatsnamen, falls es nocht nicht existiert
Was Du mit tar genau erreichen moechtest, ist mir nicht klar. Den Dateinamen als Datum erreichst Du ebenfalls mit date, z.B. 'date +%Y%m%d' erzeugt heute 20060922. Das kannst Du auch in einer Variablen speichern und dann /var/log/messages in die entsprechende Datei verschieben
Code:
#> mv /var/log/messages ${month}/${day}.log

versuch das ganze erstmal in der Konsole. Falls es klappt, schreibst Du sie zeilenweise in eine Datei, die in der ersten Zeile mit
Code:
#!/bin/sh
beginnt.

Die Datei rufst Du dann per cron-Job jeden Tag um Mitternacht auf.

Hilft das erstmal?
 

Ähnliche Themen

Routing Problematik

log-auswertung

Skript soll Log Datei kopieren und die alte entleeren

Zurück
Oben