C'è un modo per dire per quanto tempo il tuo Mac è stato attivato in un giorno particolare?

3

Mi piacerebbe sapere per quanto tempo il mio MacBook Pro era attivo oggi: tempo di attività totale per il giorno. L'ho appena comprato e ho pensato che la batteria fosse cattiva ma è andata avanti più a lungo di quanto pensassi. Certo, non ero in piedi accanto ad esso con un cronometro ... Sarebbe una grande opportunità per me tenere traccia del tempo trascorso sui dispositivi in ogni caso, per vedere quali trascorro la maggior parte del tempo. Forse in System Report o usando uno strumento in Utilities? Uno script?

EDIT: sto chiedendo di farlo su diversi computer, alcuni costruiti prima del 2011.

    
posta MicroMachine 22.08.2015 - 05:15
fonte

3 risposte

5

Ho caricato uno script bash come Gist sul mio account Github all'indirizzo print_osx_uptimes.sh che può aiutare a rispondere alla tua domanda , anche se non esattamente quello che è stato chiesto (che è stato più complicato).

Lo script interrogherà la funzione del registro di sistema Apple (ASL) per i messaggi di "chiusura". I valori del campo "Messaggio" contengono il tempo di funzionamento del sistema a partire dall'evento di chiusura, che probabilmente è ragionevolmente vicino alla domanda del poster originale.

Converte quindi i secondi di operatività in un formato più leggibile che mostra giorni, ore, minuti e secondi.

Testato su OS X 10.10.5, ma non vedo alcun motivo per cui non dovrebbe funzionare su nulla dal 10.7 in poi (probabilmente 10.6 pure).

Codice modificato per controllare anche i messaggi (duh) di "riavvio" e aggiorna l'output per mostrare il tipo di evento (ad esempio il nome del mittente) per ciascuno.

Output di esempio:

$ ./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

La carne del copione su Github Gist è:

#!/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)

Spero che questo aiuti. Ho provato a ripulire lo script e rendere utili parti e commenti.

    
risposta data 30.08.2015 - 05:15
fonte
1

Potresti essere in grado di calcolare in base al tempo di attività totale.

Vedi questo articolo su osXdaily .

How to Check a Mac's Uptime

To check your Mac's uptime, simply type ‘uptime’ in the Terminal. Terminal is an application found within /Applications/Utilities/ and is included in every version of Mac OS X.

uptime

Hit the return key and you’ll find the answer.

Per controllare i tempi di attività giornalieri con più spegnimenti al giorno, esegui questo comando prima di spegnerlo e registrare il risultato da qualche parte come un foglio di calcolo o un file di testo. Quindi è un calcolo semplice basato su data e durata. Ma davvero, a meno che tu non abbia una scarsa sicurezza, non c'è molto bisogno di spegnersi molto spesso. Il sonno consuma pochissima energia.

Vedi questo articolo di supporto Apple :

Standby Mode

For Mac computers that are started from an solid-state drive, OS X includes a deep sleep mode known as Standby Mode. Mac computers manufactured in 2013 or later enter standby after one to three hours of regular sleep. A computer with a fully charged battery can remain in standby for up to thirty days without being plugged in to an AC power source.

    
risposta data 22.08.2015 - 05:31
fonte
1

Uno strumento di terze parti come DssW Sleep Monitor può essere utilizzato per monitorare la quantità di tempo in cui il Mac è stato acceso. L'applicazione tiene traccia del consumo di energia e della batteria. I totali sono disponibili nel pannello Informazioni dell'applicazione.

Ho scritto Sleep Monitor, quindi sono un pregiudizio. Nota: Sleep Monitor 3 funziona su OS X 10.7 - 10.9.

    
risposta data 08.11.2015 - 19:19
fonte

Leggi altre domande sui tag