Also habe ich es wie folgt gelöst:
Folgendes Skript "anschalten_loggen" nach /etc/init.d kopieren, ausführbar machen und den Link /etc/rcS.d/S85anschalten_loggen auf dieses Skript erstellen:
Code: Alles auswählen
#!/bin/sh
# anschalten_loggen
# Schreibt die Zahl der Sekunden seit 1970
# beim Booten in die Logdatei
# und den Namen der Logdatei in eine Temp-Datei
# (da der Name den Monat enthaelt und daher bei
# Monatswechsel sich aendert)
LOGDATEI="/var/log/computernutzung.$(date +%Y-%m).log"
echo "$LOGDATEI" > /tmp/computernutzungslogdatei.txt
SEK70=$(date +%s)
# -n -> keinen Zeilenvorschub am Ende der Zeile
# -e -> Interpretation von \n als Zeilenvorschub
echo -n -e "\n$SEK70" >> $LOGDATEI
Folgendes Skript "ausschalten_loggen" nach /etc/init.d kopieren, ausführbar machen und die Links /etc/rc0.d/K30ausschalten_loggen sowie /etc/rc6.d/K30ausschalten_loggen auf dieses Skript erstellen:
Code: Alles auswählen
#!/bin/sh
# ausschalten_loggen
# Schreibt die Zahl der Sekunden seit 1970
# beim Ausschalten oder Neustarten in eine Logdatei
TEMPDATEI="/tmp/computernutzungslogdatei.txt"
if [ ! -r $TEMPDATEI ]; then
echo "Kann Temp-Datei $TEMPDATEI nicht lesen."
exit 1
fi
LOGDATEI=$(cat $TEMPDATEI)
# Temp-Datei löschen
if [ -w $TEMPDATEI ]; then
rm $TEMPDATEI
fi
# LOGDATEI leer ?
if [ -z $LOGDATEI ]; then
echo "Habe keinen Logdateinamen."
exit 1
fi
# LOGDATEI schreibbar?
if [ ! -w $LOGDATEI ]; then
echo "Log-Datei \"$LOGDATEI\" ist nicht schreibbar."
exit 1
fi
#######################################
# Dann kann's ja endlich losgehen!
SEK70=$(date +%s)
echo -n \,$SEK70 >> $LOGDATEI
Obige beiden Skripte führen das Logbuch: In jeder Zeile des Logbuches findet sich die Anschaltzeit, ein Komma, und dann die Abschaltzeit, jeweils gemessen in Sekunden seit 1970 (Unix-Zeit).
Und dann gibt es noch dieses
Python-Skript für eine Rechnernutzungsstatistik, basierend auf dem o.g. Logbuch. Auf der Seite sind auch alle anderen Informationen dieses Beitrages enthalten.
Wäre natürlich interessant, wenn noch andere Lösungswege hier genannt würden (z.B. Grafen o.ä.).
Gruß, Sigi