Wie lösche ich eine Log Datei?

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo,

    ich arbeite mit zwei Raspbi's. Einer als Fileserver und Streamer, der Andere ist für die Heizungsüberwachung als FHEM Server vorgesehen.
    Der FHEM Server hat eine 4 GB SD Karte. Mit der Zeit werden die Log Dateien von FHEM immer grösser und könnten die SD Karte an die Grenze bringen. Deshalb ein Cronjob auf dem Heizungsrechner angelegt.

    Ich habe jetzt auf beiden einen User eingerichtet und einen einen Public Schlüssel auf beiden Raspbi's hinterlegt. Kopieren mit scp klappt. Aber das Löschen nicht.

    Der Cronjob auf dem Heizungsrechner sieht so aus:
    ======================
    scp /opt/fhem/log/fhem-*.log kpp@raspberrypi:/media/3TB/LogsHeizung
    rm /opt/fhem/log/fhem-*.log
    scp /opt/fhem/log/Therm1-2???.log kpp@raspberrypi:/media/3TB/LogsHeizung
    ======================
    Es kommt bei "rm" immer: permission denied

    Der User kpp hat wenig Rechte. Könnte sein, dass es daran liegt. Deshalb habe ich den kpp schon mehrere sekundäre Gruppen angehängt. Auch mit "sudo rm" usw. Nichts klappt.

    Kenne mich mit Linux nicht so aus. Vielleicht hat jemand eine Idee?

    Grüße aus der Nähe von Nürnberg
    Tipsinipper

  • Wie du schon vermutest, liegt das an den Rechten der Dateien.
    Ein ls -al in dem Verzeichnis zeigt es an, vermutlich gehören sie root.

    Was spricht dagegen, sie von root löschen zu lassen?
    Per cronjob oder logrotate.

    Keep it simple [,&] stupid

  • Vielen Dank kungel,
    logrotate ist eine Idee. Löst das Problem aber nicht. Die Logs bleiben auf der SD Karte.
    Aber ein Gedankenanstoss war es.
    Ich könnte den FHEM Dienst per Cronjob mit Root Rechten z.B. 00:00 stoppen. Eine Minute später die Logdateien per Cronjob als "KPP" auf den anderen Raspi kopieren.
    Dann ein Cronjob wieder mit Root Rechten z.b. 5 Min. später starten, der die Logdateien löscht und den FHEM Dienst startet. Ist ein bischen "um die Ecke", könnte aber funktionieren.
    Werde ich gleich ausprobieren.

    Es wirft sich aber noch eine Frage auf.
    scp /opt/fhem/log/Therm1-2???.log kpp@raspberrypi:/media/3TB/LogsHeizung
    Wie benenne ich die "Therm1-2013.log" z.B. als Therm1-2013-[Monat].log um.

    Kannst Du mir da noch mal unter die Arme greifen?

    Danke im Voraus

    Grüße aus der Nähe von Nürnberg
    Tipsinipper


  • Der FHEM-Dienst scheint die log-Dateien zu sperren. Ihn kurzfristig zu beenden, hebt den lock auf.
    Vielleicht kann man den Dienst auch so einrichten, dass er nach einer gewissen Zeit eine neue log-Datei aufmacht.

    mit
    JAHRMONAT=`date +"%Y-%B`

    hat man eine Variable mit aktuellen Jahr-Monat und

    scp /opt/fhem/log/Therm1-2???.log kpp@raspberrypi:/media/3TB/LogsHeizung/Therm1-$JAHRMONAT.log

    es entsprechend kopiert.

    Keep it simple [,&] stupid

    Einmal editiert, zuletzt von kungel (31. Mai 2013 um 10:24)

  • Hallo kungel,

    klappt prima. Habe jetzt drei Cronjobs. Immer am 1. des Monats ab 00:00 Uhr. Jeweils um 2 Min. versetzt.

    ===============================
    1. stopfhem.sh #läuft mit Root Rechten
    Inhalt: service fhem stop

    2. logcopy.sh #läuft unter kpp mit geringen Rechten und einem Public Key.
    Inhalt:
    scp /opt/fhem/log/fhem-*.log kpp@raspberrypi:/media/3TB/LogsHeizung
    JAHRMONAT=`date +"%Y-%B"`
    scp /opt/fhem/log/Therm1-2???.log kpp@raspberrypi:/media/3TB/LogsHeizung/Therm1-$JAHRMONAT.log

    3. startfhem.sh # Läuft mit Root Rechten
    Inhalt:
    rm /opt/fhem/log/*.log
    service fhem start
    ================================

    Vielen Dank und Grüße aus Zirndorf

    Tipsinipper

    Grüße aus der Nähe von Nürnberg
    Tipsinipper

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!