Wie mache ich das log persistent

  • Ich bin neuer DM900 Nutzer, aber ich habe einige Probleme, wo ich versuche, sie mit dem journal auf den Grund zu gehen. Leider ist auch etwas dabei, wo ich das Log vor dem letzten Boot brauche. Journald kann die Logs persistent schreiben, daher würde das wahrscheinlich reichen.


    Dafür habe ich Storage=persitent in /etc/systemd/journald.conf eingetragen und die Directory /var/log/journal/ eingerichtet. Leider ist aber /var/log/ nur ein Link, der auf /var/volatile/log liegt und wenn ich jetzt die Directory journal anlege liegt sie auf dem volatilen Speicher und geht doch verloren.


    Jetzt an die Linux Kenner, wie lege ich den Pfad so an, dass die Journale beim Booten nicht mehr verloren gehen.


    Vielen Dank im Vorraus.


    Erwin

  • Ja, das ist auch meine Idee. Aber systemd schreibt den Namen /var/log/journal/ vor. Also müsste man einen Symbolic-Link erstellen der so heißt aber z.B. auf /media/hdd/ zeigt.


    Und da suche ich den Befehl. Wie gesagt, ich kenne mich nicht tief mit Linux aus.

  • Hat leider auch nicht geklappt.


    Ich habe eine Directory /media/hdd/journal/ angelegt.
    Dann cd /var/log
    und ln -s /media/hdd/journal journal


    Damit habe ich einen Pfad /var/log/journal der aber auf die reale Directory /media/hdd/journal zeigt und die journald task kann auf die Harddisk schreiben.


    Leider ist der Link aber nach dem nächsten Booten verschwunden. Ich vermute, das die /var Directory beim Booten erst neu angelegt wird.


    Gibt es irgendwo eine Stelle wo der Befehl liegen kann um den Link nach dem Booten und vor dem Start von journald jedesmal neu anzulegen.


    Gruß


    Erwin

  • Vermutlich ist die harddisk einfach noch nicht gemountet. Also das wäre meine erste Vermutung. Da wäre es wohl sinnvoller beim Herunterfahren den Log zu kopieren.

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource

  • Die nicht gemountete Harddisk würde ein fehlendes Log erklären, aber nicht den fehlenden Link. Ich lege den Link an und wenn die Box gebootet wurde, ist der Link weg.


    Aber das Journal kopieren beim runterfahren, das wäre auch eine Möglichkeit. Aber wo füge ich dann den journalctl Command ein, damit er möglichst weit hinten läuft.


    Optimal wäre ein kleiner Shellskript der eine stdout mit Date-Time-Stamp auf /media/hdd/journal erzeugt.


    Gibt es irgendwo ein Beispiel?


    Erwin

  • das ist ein directory, also kannst du da mit der fstab auch was immer du willst dort mounten (auch die data/recovery Partition)... Trotzdem wird dann alles was vor dem mounten passiert wieder verloren gehen

  • Wie machen das denn die "Großen"? Kann man sich das nicht von Debian, Arch und Co abgucken? Die haben ja auch alle systemd.


    Und zur Not muss das Log halt in die Root-Partiton. Die ist beim Boot ja in jedem Fall gemountet. Man kann auch sicher auch logrotate oder ähnliches für systemd einstellen, sodass die Dateien nicht zu groß werden und rechtzeitig weg geschrieben werden.
    Aber ob der Flash das mag, wenn da ständig Log-Dateien geschrieben und gelöscht werden?

  • Ich habe im Ubuntu Wiki nachgelesen bzgl. journald etc. Ich lese es so, das die Journals bei Storage=persitent immer in /VAR/LOG/JOURNAL/ liegen. Es gibt keinen Parameter um sie woanders hinzulegen.


    Bei regulären Linux Installationen liegen die Dateisysteme aber auf einer Platte. Daher ist das bei den "Großen" kein Problem.


    Gruß


    Erwin

  • wie gesagt, du kannst /var/run/log/journal z.B. nach /media/hdd/journal mounten, dann werden die logs nach /media/hdd/journal "umgeleitet", d.h. sie liegen pyshisch auf der Festplatte, sind aber weiterhin auch über /var/run/log/journal ansprechbar



    beim reboot wird das journal trotzdem gelöscht, obwohl es auf einem nicht flüchtigen Speicher liegt - auf dem Weg scheint es also auch nicht zu klappen


    ich versuche gerade beim shutdown/reboot das journal in ein file zu "dumpen", allerdings reisst mir systemd wohl noch immer das Filesystem vor dem Sichern unter den vier Buchstaben weg