Gibt es eine Möglichkeit festzustellen, wie lange Ihr Mac an einem bestimmten Tag eingeschaltet war?

Ich würde gerne wissen, wie lange mein MacBook Pro heute eingeschaltet war – Gesamtbetriebszeit für den Tag. Ich habe es gerade gekauft und dachte, die Batterie sei schlecht, aber es hat länger gedauert, als ich dachte. Natürlich stand ich nicht mit einer Stoppuhr daneben ... Es wäre sowieso ein tolles Feature für mich, die Zeit zu verfolgen, die ich mit Geräten verbracht habe, um zu sehen, mit welchen ich die meiste Zeit verbringe. Vielleicht im Systembericht oder mit einem Tool in den Dienstprogrammen? Ein Skript?

BEARBEITEN: Ich bitte darum, dies auf verschiedenen Computern zu tun, von denen einige vor 2011 gebaut wurden.

Antworten (3)

Ich habe ein Bash-Skript als Gist auf mein Github-Konto unter print_osx_uptimes.sh hochgeladen , das bei der Beantwortung Ihrer Frage helfen kann, auch wenn es nicht genau das ist, was gefragt wurde (was komplizierter war).

Das Skript fragt das Apple-Systemprotokoll (ASL) nach Meldungen zum Herunterfahren ab. Die Werte des Felds „Nachricht“ enthalten die Systembetriebszeit zum Zeitpunkt des Herunterfahrens, was meiner Meinung nach wahrscheinlich ziemlich nahe an der Frage des ursprünglichen Posters liegt.

Anschließend werden die Sekunden der Betriebszeit in ein besser lesbares Format konvertiert, das Tage, Stunden, Minuten und Sekunden anzeigt.

Getestet auf OS X 10.10.5, sehe aber keinen Grund, warum es ab 10.7 nicht mehr funktionieren sollte (wahrscheinlich auch 10.6).

Bearbeiteter Code, um auch auf (duh) „Neustart“-Meldungen zu prüfen, und aktualisiert die Ausgabe, um anzuzeigen, welcher Ereignistyp (d. h. Absendername) für jeden war.

Beispielausgabe:

$ ./print_osx_uptimes.sh
Shutdown on date/time:         Event                     Reported uptime of:
=============================  =========  ===================================
Mon Jul  6 2015 10:32:21 EDT   shutdown       1 days  11 hrs  30 min  15 secs
Thu Jul 16 2015 20:47:24 EDT   reboot         1 days  22 hrs  15 min  46 secs
Thu Jul 16 2015 22:01:50 EDT   shutdown       0 days  21 hrs   4 min  28 secs
Sun Jul 19 2015 02:10:34 EDT   shutdown       2 days  16 hrs  35 min  35 secs
Tue Jul 21 2015 19:32:35 EDT   shutdown       9 days  17 hrs  41 min  46 secs
Fri Jul 24 2015 20:35:05 EDT   shutdown       9 days   7 hrs  55 min  38 secs
Sat Jul 25 2015 00:03:13 EDT   shutdown       8 days  10 hrs  45 min   8 secs
Tue Jul 28 2015 09:16:47 EDT   shutdown       5 days  21 hrs  20 min  57 secs
Thu Jul 30 2015 22:32:36 EDT   shutdown      10 days   0 hrs   3 min  59 secs
Tue Aug  4 2015 01:37:32 EDT   shutdown       7 days   4 hrs  24 min  35 secs
Fri Aug 14 2015 19:15:04 EDT   reboot         5 days  22 hrs  42 min   1 secs

Das Kernstück des Skripts auf Github Gist ist:

#!/bin/bash

# https://gist.github.com/jps3/afc1e374b632e1ed1ebc

# function displaytime() is a modified form of that from:
# http://unix.stackexchange.com/a/27014
function displaytime {
  local T=$1
  local D=$((T/60/60/24))
  local H=$((T/60/60%24))
  local M=$((T/60%60))
  local S=$((T%60))
  printf '%5s days  %2s hrs  %2s min  %2s secs' $D $H $M $S
}

function get_syslog_entries () {
  syslog -d store \
    -F '$(Sender) $(Message)' \
    -k Sender Req '^(shutdown|reboot)$' \
    -k Message Req "SHUTDOWN_TIME"
}

while read -a line; do
  sender="${line[0]}"
  log_entry_timestamp="$(date -j -f %s "${line[2]}" +"%a %b %e %Y %T %Z")"
  uptime_timestamp="$(displaytime "${line[3]}")"
  printf "%s   %-8s   %s\n" "${log_entry_timestamp}" "${sender}" "${uptime_timestamp}"
done < <(get_syslog_entries)

Hoffe das hilft. Ich habe versucht, das Skript aufzuräumen und die Teile und Kommentare nützlich zu machen.

+ von mir! Das Protokollieren der Abschaltanforderungen und das anschließende Analysieren nach Datum sollten die gewünschten Daten des OP erhalten.
Das sieht toll aus Jungs! Wie führe ich diese Skripte aus? Ich bin ein Idiot, wenn es keine GUI gibt :P

Möglicherweise können Sie anhand der Gesamtbetriebszeit kalkulieren.

Siehe diesen Artikel auf osXdaily .

So überprüfen Sie die Betriebszeit eines Mac

Um die Betriebszeit Ihres Macs zu überprüfen, geben Sie einfach „Uptime“ in das Terminal ein. Terminal ist eine Anwendung, die sich in /Applications/Utilities/ befindet und in jeder Version von Mac OS X enthalten ist.

uptime

Drücken Sie die Eingabetaste und Sie finden die Antwort.

Um die tägliche Betriebszeit mit mehreren Abschaltungen am Tag zu überprüfen, führen Sie diesen Befehl vor dem Herunterfahren aus und protokollieren Sie das Ergebnis irgendwo, z. B. in einer Tabelle oder Textdatei. Dann ist es eine einfache Berechnung basierend auf Datum und Dauer. Aber wirklich, es sei denn, Sie haben schlechte Sicherheitsvorkehrungen, es ist nicht sehr oft nötig, herunterzufahren. Der Schlaf verbraucht sehr wenig Energie.

Siehe diesen Apple Support-Artikel :

Standby Modus

Für Mac-Computer, die von einem Solid-State-Laufwerk gestartet werden, enthält OS X einen Tiefschlafmodus, der als Standby-Modus bezeichnet wird. Mac-Computer, die 2013 oder später hergestellt wurden, wechseln nach ein bis drei Stunden regulärem Ruhezustand in den Standby-Modus. Ein Computer mit vollständig aufgeladenem Akku kann bis zu 30 Tage im Standby-Modus bleiben, ohne an eine Wechselstromquelle angeschlossen zu sein.

Danke! Wie soll ich die Antwort interpretieren und herausfinden, auf welchen Zeitraum sie sich bezieht? Mine sagt: Letzte Anmeldung: Fr. 21. August 18:47:43 auf Konsole Fabrices-MBP: ~ fabrice $ Betriebszeit 22:16 bis 3:30, 2 Benutzer, Lastdurchschnitt: 1,67 2,20 2,92 Fabrices-MBP: ~ fabrice $
@fabriced Es bedeutet: Zeit jetzt, Betriebszeit 3 ​​Stunden 30 Minuten, 2 Benutzer angemeldet (fabrice bei s000 & fabrice bei Konsole) und das Load Triplet: in der letzten Minute laden, in den letzten 5 Minuten laden und schließlich in der letzten laden 15 Minuten (mit Belastung: dimensionslose Zahl)
OK! Aber die Betriebszeit scheint mir so zu sein, wie lange der Computer "an" war. Ich habe diese Normierung eingeschaltet, dann ausgeschaltet, bin dann nach Hause gekommen und habe sie wieder eingeschaltet. Ist diese Betriebszeit heute den ganzen Tag oder erst seit ich nach Hause gekommen bin?
Die Betriebszeit wird zurückgesetzt, wenn der Computer neu gestartet wird. Wenn Sie den Computer in den Energiesparmodus versetzen, anstatt ihn auszuschalten, kann es zu einer übermäßig langen Betriebszeit kommen (über ein Jahr oder länger), da der Schlaf/Wach-Modus die Betriebszeit nicht beeinflusst.
OK danke! Meine ursprüngliche Frage war, wie man die genaue Gesamtbetriebszeit auch nach Neustarts ermitteln kann. Danke
@MicroMachine Was Sie verlangen, ist keine Betriebszeit, sondern eine Art Gesamtnutzungszeit. Aber das stimmt auch nicht, zumindest wenn Sie Ihren Computer jemals in den Ruhezustand versetzen.

Ein Drittanbieter-Tool wie DssW Sleep Monitor kann verwendet werden, um zu verfolgen, wie lange Ihr Mac eingeschaltet war. Die Anwendung verfolgt den Stromverbrauch und den Batterieverbrauch. Gesamtsummen sind im Infobereich der Anwendung verfügbar.

DssW Sleep Monitor unter OS X

Ich habe Sleep Monitor geschrieben, also bin ich voreingenommen. Bitte beachten Sie auch, dass Sleep Monitor 3 auf OS X 10.7 – 10.9 funktioniert.

OK! Ich werde es versuchen und euch berichten, wie es läuft!
Wenn ich das richtig verstehe, muss ich die App beim Start des Computers starten und nie beenden?
Sleep Monitor fragt beim Start, ob Sie es jedes Mal starten oder im Hintergrund laufen lassen möchten. Im letzteren Zustand müssen Sie Sleep Monitor nicht jedes Mal starten – außerdem wird die Protokollierung dann fortgesetzt, auch wenn niemand angemeldet ist.
Funktioniert bei mir im Moment nicht; Die Inbetriebnahme nimmt viel Zeit in Anspruch und erinnert sich nicht an vergangene Tage
Welche Version von OS X verwendest du? Wenn Sie Hilfe beim Aussortieren benötigen, wenden Sie sich bitte an support@dssw.co.uk