MoinMoin Logo
  • Kommentare
  • Geschützte Seite
  • Menu
    • Navigation
    • AktuelleÄnderungen
    • SeiteFinden
    • ÜbersichtsKarte
    • Help
    • HilfeInhalt
    • HilfeZurMoinWikiSyntax
    • Anzeige
    • Dateianhänge
    • Info
    • Rohform
    • Druckansicht
    • Editieren
    • Laden
    • Speichern
  • Anmelden

Navigation

  • AktuelleÄnderungen
  • SeiteFinden
  • HilfeInhalt
  • attachment:tut.txt von Raspberry SD-Karte schonen

Dateianhang 'tut.txt'

Herunterladen

   1 Da mit dem aktuellen Jessi Kernel 4.4.34+ bzw. 4.4.50+ eine Abfrage mit 
   2 systemctl --version 
   3 Ein (systemd 215) als aktiv zeigt, kann das journal nicht mit dem Schalter "--vacuum-size=100M" zb. auf 100 MB verkleinert werden.
   4 Das wird sich wohl erst mit der Version Stretch ändern. 
   5 Für alle User die nicht sofort auf Stretch umsteigen wollen hier ein Vorschlag.
   6 Die Original Idee von meigrafd und Thomas mit dem Script varlog wird etwas erweitert und leicht verändert.
   7 
   8 http://www.forum-raspberrypi.de/Thread-tutorial-var-log-in-eine-art-ramdisk-auslagern-weitere-optimierungen-bezgl-logs?page=4&highlight=ramdisk
   9 
  10 Die Änderung:
  11 Im Start Zweig von varlog wird mit dem rsync Schalter --exclude "- *.journal" 
  12 verhindert das ein system.journal aus /var/log_save/.. wieder nach /var/log/.. kopiert wird.
  13 Damit kann es in /var/log/.. keine system.journal~ Datei mehr geben. Es gibt nur das system.journal vom aktuellen Booten/Einschalten.
  14 Im Stop Zweig von varlog wird mit dem rsync Schalter --exclude "**~" --exclude "- user*" 
  15 verhindert das ein möglicherweise Vorhandenes user-1000.journal bzw. system.journal~ wieder nach /var/log_save/.. kopiert wird.
  16 
  17 Die Erweiterung:
  18 Um eine Analyse der system.journal Dateien aus /var/log_save/.. zu erreichen wird der logrotate Mechanismus benutzt.
  19 Dazu wird der logrotate.timer und der logrotate.service sowie die Datei logrotate_varlog.conf benutzt.
  20 Die Datei logrotate_varlog.conf wurde erstellt um Probleme mit dem normalen logrotate Dienst in Jessi zu vermeiden.
  21 Ein Test ist möglich mit
  22 sudo /usr/sbin/logrotate -v /etc/logrotate_varlog.conf
  23 
  24 Zum Ablauf:
  25 sudo /usr/local/bin/varlog stop
  26 Kopiert alles von /var/log/ nach /var/log_save/ -- Ausser der "user-1000.journal" bzw. "system.journal~" Datei.
  27 sudo /usr/local/bin/varlog start
  28 Kopiert alles von /var/log_save/ nach /var/log/ -- Ausser der "system.journal" Datei.
  29 
  30 2 Minuten nach jedem reboot/Einschalten wird vom logrotate.timer und dem logrotate.service
  31 Das system.journal aus /var/log_save/.. in das Verzeichnis /var/archive/ als system.journal.1.gz kopiert und gepackt.
  32 Im Moment werden die Dateien bis zur system.journal.7.gz behalten.
  33 
  34 Um die system.journal.x.gz Datei zu einer Analyse wieder auszupacken benuzte ich den sik Zweig von varlog
  35 sudo /usr/local/bin/varlog sik
  36 
  37 Das Script sik.sh zeigt alle system.journal.x.gz Dateien an, die ausgewählte Datei wird entpackt und mit journalctl --verify geprüft.
  38 Dann wird mit journalctl -p err die Datei system.journal auf Fehler und danch auf Vorkommen von "varlog\|journal" geprüft.
  39 Zum Schluss werden alle Einträge der aktuell ausgewählten system.journal Datei anzeigt.
  40 
  41 Wenn in /var/archive/ schon ein system.journal liegt wird das vom Script erkannt und nach Abfrage gelöscht.
  42 
  43 # --------------------------------------------------------------------------------------------------------------------------------- #
  44 # Ab hier das Tutorial.
  45 # Die Punkte 1 bis 11 sind Allgemeiner Natur für Kontrollen und wichtiger Prüfungen und sollten abgearbeitet werden.
  46 # Ab Punkt 12 erfolgt die Installation vom gesamten Paket mit allen Kontrollen.
  47 # --------------------------------------------------------------------------------------------------------------------------------- #
  48 
  49 1.  System Aktualisierung und Prüfen ob rsync installiert ist wenn nicht Install.
  50 sudo apt update
  51 sudo apt dist-upgrade
  52 type rsync
  53 sudo apt install rsync
  54 sudo reboot
  55 
  56 2.  Prüfen ob das Journal von systemd schon aktiv ist, es muss in /var/log/ den Ordner journal geben.
  57 ls -lah /var/log/
  58 #    drwxr-sr-x+  3 root systemd-journal  4,0K Aug  4  2016 journal
  59 
  60 3.  Wenn in /var/log/ noch die syslog und messages Dateien liegen ist der alte rsyslog Dienst noch aktiv. 
  61     Dieser kann entfernt werden. Zur Vorsicht das alte /var/log/ komplett zu sichern.
  62 sudo mkdir -p /var/log_old
  63 sudo cp -Rpu /var/log/* /var/log_old/
  64 ls -la /var/log/
  65 #    -rw-r-----   1 root adm               76M Mai 15 20:17 messages
  66 #    -rw-r-----   1 root adm              261M Mai 15 20:17 syslog
  67 
  68 4.  Dann werden die Werte für das system-journald auf sinnvolle Werte eingestellt. 
  69     Dazu die Datei journald.conf öffnen und die 4 Einträge am Datei Ende einfügen. 
  70     Die Werte sollten nach dem eigenen Bedarf eingestellt werden.
  71 sudo nano /etc/systemd/journald.conf
  72 SystemMaxUse=50M
  73 SystemKeepFree=5M
  74 SystemMaxFileSize=4M
  75 ForwardToSyslog=no
  76 #
  77 5.  ACHTUNG:    
  78     Die folgenden drei Zeilen nur aufrufen wenn in /var/log/ noch KEIN Ordner journal vorhanden war.
  79     Nach dem systemctl restart Kommando wird ein Journal geschrieben. 
  80 sudo mkdir -p /var/log/journal
  81 sudo systemd-tmpfiles --create --prefix /var/log/journal
  82 sudo systemctl restart systemd-journald
  83 
  84 6.  Nun kann der rsyslog Dienst entfernt und der user pi zur Gruppe systemd-journal hinzugefügt werden.
  85 sudo apt-get purge --remove rsyslog
  86 sudo adduser pi systemd-journal
  87 
  88 7. Um /tmp ebenfalls nach tmpfs zu mounten, prüfen ob die Datei tmp.mount vorhanden ist wenn ja tmp.mount einschalten.
  89 ls -la /lib/systemd/system/tmp.mount
  90 less /lib/systemd/system/tmp.mount
  91 sudo systemctl enable tmp.mount
  92 sudo systemctl start tmp.mount
  93 systemctl status tmp.mount
  94     
  95 8.  Wenn der rsyslog lief können nach reboot bzw. halt die alten Dateien gelöscht werden. 
  96     Dazu vorher von allen Ordnern/Dateien die Größe und den aktuellen Zeitstempel holen.
  97     Um sinnvolle Werte in die journald.conf einzutragen ist die Größe der Ordner hilfreich. 
  98 ls -lah /var/log/
  99 du -h /var/log/
 100  
 101 9.  Nach dem reboot erste Kontrollen.
 102     Und das Löschen der nicht mehr benötigten Dateien in /var/log/ zb. messages usw.
 103     Jetzt kann auch der user pi das System Journal mit journalctl öffnen.
 104 sudo reboot
 105 df -Th | grep tmpfs
 106 sudo rm /var/log/messages
 107 sudo rm /var/log/syslog
 108 journalctl
 109 
 110 10. Nach dem Löschen der alten rsyslog Dateien wird viel weniger Platz in /var/log/ benötigt.
 111     Dann kann es sinnvoll sein die /etc/journald.conf nochmal anzupassen.
 112 du -sh /var/log/
 113 sudo nano /etc/systemd/journald.conf
 114 sudo systemctl restart systemd-journald
 115     
 116 11. Wenn nach dem Löschen der alten Dateien in /var/log/ der Ordner journal fehlen sollte dann den Punkt 5. ausführen.
 117 
 118 # --------------------------------------------------------------------------------------------------------------------------------- #
 119 
 120 12. Mit Filezilla die Datei varlog_aktuell.tar.gz auf den RasPi kopieren und auspacken.
 121     Diese Dateien sollten zu sehen sein.
 122 tar zxvf varlog_aktuell.tar.gz
 123 ls -la varlog_aktuell
 124 -rw-r--r-- 1 frank users  903 13. Mai 21:03 journald.conf
 125 -rw-r--r-- 1 frank users  253 13. Mai 21:23 logrotate.service
 126 -rw-r--r-- 1 frank users  181 13. Mai 21:23 logrotate.timer
 127 -rw-r--r-- 1 frank users  543 13. Mai 21:03 logrotate_varlog.conf
 128 -rwxr--r-- 1 frank users 2691 20. Mai 21:38 sik.sh
 129 -rwxr--r-- 1 frank users  903 23. Mai 20:58 varlog
 130 -rw-r--r-- 1 frank users  321 13. Mai 21:08 varlog.service
 131 
 132 13. Dann werden die Rechte gesetzt und die Dateien an Ihren Platz verschoben.
 133     ACHTUNG: 
 134     Diese Zeile in Datei logrotate_varlog.conf muss nach dem Verschieben auf den eigenen Ordner Namen aus /var/log/journal/... angepasst werden.  
 135     /var/log_save/journal/.. Ordner/system.journal {
 136 
 137 sudo chown root:root varlog_aktuell/*.*
 138 sudo chown root:root varlog_aktuell/varlog
 139 cd varlog_aktuell
 140 sudo mv logrotate_varlog.conf /etc/
 141 sudo mv logrotate.service /etc/systemd/system/
 142 sudo mv logrotate.timer /etc/systemd/system/
 143 sudo mv varlog.service /etc/systemd/system/
 144 sudo mv sik.sh /usr/local/bin/
 145 sudo mv varlog /usr/local/bin/
 146 sudo nano /etc/logrotate_varlog.conf
 147 
 148 14. Nun wird für den logrotate.service der Ordner /var/archive/ angelegt. 
 149     Danach ist ein Trocken Test möglich.
 150     2 Minuten nach jedem reboot/Einschalten wird vom logrotate.timer und dem logrotate.service
 151     Das system.journal aus /var/log_save/.. in das Verzeichnis /var/archive/ als system.journal.1.gz kopiert und gepackt.
 152     Im Moment werden die Dateien bis zur system.journal.7.gz im Ordner /var/archive/ behalten.
 153     Es muss nur der logrotate Timer aktiviert werden dieser benutzt dann den logrotate.service 
 154     und in diesem logrotate.service steht ein "ExecStart=/usr/sbin/logrotate /etc/logrotate_varlog.conf" 
 155     Mit dem "systemctl list-timers" erfolgt die Kontrolle des Timers
 156     
 157 sudo mkdir -p /var/archive/
 158 #sudo /usr/sbin/logrotate -v /etc/logrotate_varlog.conf
 159 sudo /bin/systemctl enable logrotate.timer
 160 sudo /bin/systemctl start logrotate.timer
 161 systemctl status logrotate.timer
 162 systemctl list-timers
 163 #    NEXT                         LEFT     LAST                         PASSED       UNIT                         ACTIVATES
 164 #    n/a                          n/a      Di 2017-05-16 21:50:31 CEST  1min 21s ago logrotate.timer              logrotate.service
 165 
 166     
 167 15. Erst jetzt wird der varlog.service Aktiviert !!!
 168 sudo /bin/systemctl enable varlog.service
 169 sudo /bin/systemctl start varlog.service
 170 systemctl status varlog.service
 171 
 172 16. Hop oder Top
 173 /bin/systemctl reboot
 174 
 175 17. Nach dem Einschalten bzw. dem reboot muss es dann so aussehen. 
 176     In /var/log/journal/.../ das aktuelle Journal. 
 177     In /var/log_save/journal/.../ das Journal bis zum reboot.
 178     In /var/archive/ noch nichts.
 179     Der Ordner /var/log/ muss als tmpfs gemounted sein. Der varlog-status muss fehlerfrei sein.
 180     Eine Kontrolle des aktuellen/laufenden Boots zeigt, dass die Reihenfolge wie erwünscht passt.
 181     Hier zB. wird der logrotate.service in 2 Sekunden vom logrotate.timer gestartet.
 182     
 183 ls -la /var/log/journal/.../
 184 ls -la /var/log_save/journal/.../
 185 ls -la /var/archive/
 186 df -Th | grep tmpfs
 187 systemctl status varlog.service
 188 journalctl -b | grep "varlog\|journal" -i
 189 systemctl list-timers
 190     NEXT                         LEFT       LAST PASSED UNIT                         ACTIVATES
 191     Mi 2017-05-17 20:55:29 CEST  2s left    n/a  n/a    logrotate.timer              logrotate.service
 192     
 193 
 194 18. Nach dem der logrotate.service gelaufen ist liegt
 195     In /var/log/journal/.../ das aktuelle Journal. 
 196     In /var/log_save/journal/.../ eine leere system.journal Datei.
 197     In /var/archive/ das gepackte .x.gz Journal aus /var/log_save/journal/.../
 198     Die beiden folgenden logrotate status Meldungen sind so OK. 
 199 
 200 systemctl status logrotate.timer
 201 ● logrotate.timer - Daily rotation of log files
 202    Loaded: loaded (/etc/systemd/system/logrotate.timer; enabled)
 203    Active: active (elapsed) since Mi 2017-05-17 20:53:43 CEST; 2min 45s ago
 204      Docs: man:logrotate(8)
 205            man:logrotate.conf(5)
 206 
 207 systemctl status logrotate.service
 208 ● logrotate.service - Rotate log files
 209    Loaded: loaded (/etc/systemd/system/logrotate.service; static)
 210    Active: inactive (dead) since Mi 2017-05-17 20:55:38 CEST; 59s ago
 211      Docs: man:logrotate(8)
 212            man:logrotate.conf(5)
 213   Process: 914 ExecStart=/usr/sbin/logrotate /etc/logrotate_varlog.conf (code=exited, status=0/SUCCESS)
 214  Main PID: 914 (code=exited, status=0/SUCCESS)
 215 
 216 19. Um die system.journal.x.gz Datei zu einer Analyse wieder auszupacken benuzte ich den sik Zweig von varlog
 217     Das Script sik.sh zeigt alle system.journal.x.gz Dateien aus /var/archive/ an. 
 218     Nach Eingabe der Datei Nr. zB. 1 für die aktuellste Datei wird die ausgewählte Datei wieder entpackt und mit journalctl --verify geprüft.
 219     Dann wird mit journalctl -p err die Datei auf Fehler und danch auf Vorkommen von "varlog\|journal" geprüft.
 220     Zum Schluss werden alle Einträge der aktuell ausgewählten system.journal Datei anzeigt.
 221 
 222     Wenn in /var/archive/ schon ein system.journal liegt wird das vom Script erkannt und nach Abfrage gelöscht.
 223 
 224 sudo /usr/local/bin/varlog sik

Gespeicherte Dateianhänge

Um Dateianhänge in eine Seite einzufügen sollte unbedingt eine Angabe wie attachment:dateiname benutzt werden, wie sie auch in der folgenden Liste der Dateien erscheint. Es sollte niemals die URL des Verweises ("laden") kopiert werden, da sich diese jederzeit ändern kann und damit der Verweis auf die Datei brechen würde.
  • [laden | anzeigen] (2020-11-17 13:48:00, 11.3 KB) [[attachment:tut.txt]]
  • [laden | anzeigen] (2020-11-17 13:44:00, 2.6 KB) [[attachment:varlog_aktuell.tar.gz]]
 Alle Dateien | Ausgewählte Dateien: löschen verschieben auf Seite kopieren auf Seite

Sie dürfen keine Anhänge an diese Seite anhängen!

  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01