#!/bin/bash # SaveX11crash.sh save the X11 logs and the journalctl of the last 10 minutes # # (c) GPL by Ulf Bartholomäus ub1x@gmx.net VERSION="$( basename $0 ) Version 0.1.1 from 25.11.2021" # # Input: n/a # Output: progress and 7z compressed logs # Returnvalue: 0 if finished OK and 10 if there was an issue at 7z # # Changes: # 0.1.1 # Detect if not root # 0.1.0 # Initial version ## Verwendeten Pfad mit Datum und Uhrzeit definieren - da sich die Sekunden ändern könnten MyPath="${HOME}/X11-Crash_$(date +%F_%H-%M-%S)" MyTime="-10m" # -10m = die letzten 10 minuten ## teste ob root rechte vorhanden if [ "`whoami`" != "root" ] ; then echo -e "Nicht ausreichend Rechte - bitte als "root" anmelden!\nsu -c $0" exit 20 fi ## Pfad anlegen mkdir -p ${MyPath} ## X11 Logs in aktuellen Pfad Sichern sowie journal der letzten 10min erstellen echo -e "Sicher X11 logs:" cp -v /var/log/Xorg.* ${MyPath}/ journalctl -xe --since ${MyTime} >> ${MyPath}/journalctl_${MyTime}.log echo -e "Sicher journalctl von <${MyTime}>" ## Packe die Logs und mache es für alle änderbar (exit falls Problem) 7za a "${MyPath}.7z" "${MyPath}" || exit 10 ## Ordner wieder löschen und rechte auf für alle lese und schreibbar rm -rf "${MyPath}" chmod a+rw "${MyPath}.7z" ## Verschiebe 7z echo -e "Verschieb Logs in damit auch für normale Benutzer zugreifbar zu machen" mv -v "${MyPath}.7z" /tmp