[Eisfair] Last LogIn Befehlt defekt

Marcus Roeckrath marcus.roeckrath at gmx.de
Di Mai 21 06:35:16 CEST 2019


Hallo Daniel,

Daniel Kubein wrote:

>> ls -la /var/log/wtmp*
> 
> -rwxrwxrwx 1 root root 48384 May 21 04:28 /var/log/wtmp
> -rwxrwxrwx 1 root root  3891 Feb 18  2013 /var/log/wtmp.1.gz
> -rwxrwxrwx 1 root root   808 May 19 23:59 /var/log/wtmp.1.xz
> -rwxrwxrwx 1 root root  3706 Sep 25  2012 /var/log/wtmp.2.gz
> -rwxrwxrwx 1 root root   804 May 16 23:59 /var/log/wtmp.2.xz
> -rwxrwxrwx 1 root root  3317 Jul 18  2012 /var/log/wtmp.3.gz
> -rwxrwxrwx 1 root root   812 May 13 23:59 /var/log/wtmp.3.xz
> -rwxrwxrwx 1 root root  2313 May 13  2012 /var/log/wtmp.4.gz
> -rwxrwxrwx 1 root root   820 May 10 23:59 /var/log/wtmp.4.xz

Die .gz (gezppten) kannst du Löschen, die sind uralt.

Ansonsten wird zu häufig rotiert, weil die Datei die voreingestellte Größe
überschreitet, aber durch - wie früher schon festgestellt - falsche
Einträge zugemüllt wird, die dann auch mit last nicht angezeigt werden.

Du könntest mal folgendes Skript endlos laufen lassen

#!/bin/sh

# Bis zum nächsten # ist es eine Zeile
last=$(ls -l --time-style=+{%y%d%m%H%M} /var/log/wtmp | egrep -o "\{.*\}" |
sed -e "s/{//g" -e "s/}//g")
#
echo $last
while true ; do
# Bis zum nächsten # ist es eine Zeile
    new=$(ls -l --time-style=+{%y%d%m%H%M} /var/log/wtmp | egrep -o "\{.*\}"
| sed -e "s/{//g" -e "s/}//g")
#
    if [ "$last" -lt "$new" ] ; then
       last=$new
       echo $new
    fi
    sleep 10
done

Einfach in einer Konsole starten und laufen lassen, Abbruch mit Strg-C.

Ausgegebenen Zeitstempel ist YYMMDDHHmm

Dann schauen wir mal z. B. in die Messages, was zu diesen Zeitpunkten
passiert.

Wenn du beim Aufruf " > irgendein_dateiname" ergänzt, wird die Ausgabe in
eine Datei geschrieben.

-- 
Gruss Marcus


Mehr Informationen über die Mailingliste Eisfair