Wie man die Betriebszeit des Computers verfolgt

4212
aisbaa

Ich habe einen Linux-Desktop. Ich lasse es nicht rund um die Uhr eingeschaltet. Ich möchte gerne Statistiken darüber sammeln, wie viel Zeit der Computer jeden Tag eingeschaltet hat, zB:

2012-08-21: 7:52 2012-08-22: 8:43 2012-08-23: 7:36 

Wenn der Computer nicht eingeschaltet war, ist keine Aufzeichnung erforderlich.

1

6 Antworten auf die Frage

3
aliasgar

You can create a script which runs uptime & dumps it into a file.

uptime >> uptime.log

After that setup a cron job for it. To know more about how to create a cron job : Create Cron Job

Or you can sign-up for an online service to do it for you : Uptime Project

yup, ich habe darüber nachgedacht, vielleicht sogar das init.d-Skript zum Herunterfahren bekommen. aisbaa vor 11 Jahren 0
das ist auch eine Option .. also ich denke, ich habe geantwortet, was Sie eigentlich brauchten .. aliasgar vor 11 Jahren 0
Das ist eine wirklich gute Antwort, aber ich suche nach einer raffinierteren Lösung. Vielleicht so etwas wie workrave, das dies als zusätzliche Funktionalität hat, außer, dass ich diese Schreibunterbrechungslösung nicht brauche. aisbaa vor 11 Jahren 0
2
sepehr

gemäß lastHandbuchseite:

Der Pseudo-Benutzer-Neustart meldet sich bei jedem Neustart des Systems an. Beim letzten Neustart wird daher ein Protokoll aller Neustarts angezeigt, seit die Protokolldatei erstellt wurde.

Die letzte Spalte des #last rebootBefehls gibt Ihnen den Uptime-Verlauf:

#last reboot reboot system boot **************** Sat Sep 21 03:31 - 08:27 (1+04:56)  reboot system boot **************** Wed Aug 7 07:08 - 08:27 (46+01:19) 
2
Kjetil S.

Dies protokolliert die Ausgabe der 'Betriebszeit' alle fünf Minuten. Diese Ausgabe enthält auch die Anzahl der aktuell angemeldeten Benutzer und die Durchschnittswerte Ihres Computers für die letzten 1, 5 und 15 Minuten:

sudo bash #root mkdir /var/log/uptime crontab -e 

Fügen Sie diese Zeile hinzu:

*/5 * * * * echo `date +\%Y\%m\%d;uptime` >> /var/log/uptime/uptime.log 2>&1 

Und um das Log in wöchentliche Dateien aufzuteilen:

cat <<'EOF'. > /etc/logrotate.d/uptime /var/log/uptime/uptime.log { weekly dateext rotate 99999 compress } EOF 

Nach einiger Zeit können Sie Ihre Betriebszeiten für jeden Tag folgendermaßen anzeigen:

uplog() { (cd /var/log/uptime/;zcat uptime.log*gz;cat uptime.log) } uplog|cut -c1-8|uniq -c|perl -aple'$_.=" ".("=" x ($F[0]/5))' 

Die Zahl 288 (12 * 24) bedeutet, dass der Computer den ganzen Tag in Betrieb war (obwohl Neustarts, die kürzer als fünf Minuten sind, von dieser Methode möglicherweise nicht erkannt werden).

Oder ähnlich für jeden Monat wie folgt:

uplog|cut -c1-6|uniq -c|perl -aple'$_.=" ".("=" x ($F[0]/150))' 
1
RedGrittyBrick

There will be datestamped entries in syslog (/var/log/messages*) you can extract this information from.

You could also add K entries to /etc/rc0.d to, for example, to run logger to add a specific syslog record on shutdown. See http://www.debian-administration.org/articles/212 or equivalent for the Linux distribution you are using

$ vim /etc/init.d/uptime $ cat /etc/init.d/uptime  # chkconfig: 0 99 1 # description: Record uptime at shutdown.  start() { uptime >> /var/log/uptime 2>&1 }  case "$1" in start) start ;; *) echo Usage: $0 start ;; esac  $ chmod +x /etc/init.d/uptime  $ chkconfig --add uptime  $ chkconfig --list uptime uptime 0:on 1:off 2:off 3:off 4:off 5:off 6:off  $ ls /etc/rc*d/*uptime* /etc/rc0.d/S99uptime /etc/rc3.d/K01uptime /etc/rc6.d/K01uptime /etc/rc1.d/K01uptime /etc/rc4.d/K01uptime /etc/rc2.d/K01uptime /etc/rc5.d/K01uptime   $ /etc/rc0.d/S99uptime start  $ cat /var/log/uptime 13:15:28 up 135 days, 12:06, 1 user, load average: 0.07, 0.04, 0.01 
0
aisbaa

Ich habe eine ähnliche Frage zu stackoverflow https://stackoverflow.com/questions/79490/linux-uptime-history gefunden . Am besten scheint es das zu sein, was ich will, danke Jungs für die Hilfe.

http://podgorny.cz/moin/Uptimed

[Ich glaube nicht, dass das Update aufrechterhalten wird.] (Http://www.linuxjournal.com/content/tracking-server-uptimes) Nathan Arthur vor 7 Jahren 1
0
Rfraile

Tuptime kann dies beim Ausführen von "tuptime -e" ausführen, zum Beispiel:

# tuptime -e Startup: 1 at 08:55:01 AM 08/04/2015 Uptime: 24 seconds Shutdown: OK at 08:55:25 AM 08/04/2015  Downtime: 5 seconds  Startup: 2 at 08:55:31 AM 08/04/2015 Uptime: 20 seconds Shutdown: OK at 08:55:51 AM 08/04/2015 

Abhängig von Ihren Ländereinstellungen kann sich das Datumsformat ändern.

Grüße,