¿Hay alguna manera de saber cuánto tiempo estuvo encendida su Mac en un día especial?

3

Me gustaría saber cuánto tiempo estuvo mi MacBook Pro hoy: el tiempo de funcionamiento total del día. Acabo de comprarlo y pensé que la batería estaba mal, pero duró más de lo que pensaba. Por supuesto, no estaba parado junto a él con un cronómetro ... Sería una gran característica para mí rastrear el tiempo dedicado a los dispositivos de todos modos, para ver en cuáles me dedico más tiempo. ¿Tal vez en el Informe del sistema, o utilizando una herramienta en Utilidades? ¿Un guión?

EDITAR: le estoy pidiendo a esto que haga esto en diferentes computadoras, algunas construidas antes de 2011.

    
pregunta MicroMachine 22.08.2015 - 05:15

3 respuestas

5

He subido un script bash como Gist a mi cuenta de Github en print_osx_uptimes.sh que puede ayudar a responder tu pregunta , incluso si no es exactamente lo que se pidió (lo que fue más complicado).

La secuencia de comandos consultará la función de registro del sistema Apple (ASL) para los mensajes de "apagado". Los valores del campo 'Mensaje' contienen el tiempo de actividad del sistema a partir del evento de apagado, que, según mi opinión, es probablemente bastante cercano a la pregunta del cartel original.

Luego, convierte los segundos de tiempo de actividad a un formato más legible que muestra días, horas, minutos y segundos.

Probado en OS X 10.10.5, pero no ve ninguna razón por la que no debería funcionar en nada desde 10.7 en adelante (probablemente 10.6 también).

El código editado también busca los mensajes de "reinicio" (duh) y actualiza la salida para mostrar cuál fue el tipo de evento (es decir, el nombre del remitente) para cada uno.

Salida de muestra:

$ ./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 script en Github Gist es:

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

Espero que esto ayude. Intenté limpiar el script y hacer que las partes y los comentarios sean útiles.

    
respondido por el jps3 30.08.2015 - 05:15
1

Es posible que pueda calcular en función del tiempo de actividad total.

Vea este artículo en osXdaily .

  

Cómo verificar el tiempo de actividad de una Mac

     

Para verificar el tiempo de actividad de su Mac, simplemente escriba "tiempo de actividad" en la Terminal. Terminal es una aplicación que se encuentra dentro de   / Aplicaciones / Utilidades / y se incluye en todas las versiones de Mac OS X.

uptime
     

Pulsa la tecla de retorno y encontrarás la respuesta.

Para verificar el tiempo de actividad diario con múltiples paradas en el día, ejecute este comando antes de apagarlo y registre el resultado en algún lugar, como una hoja de cálculo o un archivo de texto. Entonces es un cálculo fácil basado en fecha y duración. Pero realmente, a menos que tenga poca seguridad, no hay mucha necesidad de cerrar muy a menudo. El sueño usa muy poco poder.

Consulte este artículo de soporte de Apple :

  

Modo de espera

     

Para computadoras Mac que se inician desde un estado sólido   unidad, OS X incluye un modo de suspensión profunda conocido como modo de espera. Mac   Las computadoras fabricadas en 2013 o más tarde ingresan en modo de espera después de una   Tres horas de sueño regular. Una computadora con una batería completamente cargada.   Puede permanecer en modo de espera hasta por treinta días sin estar conectado.   a una fuente de alimentación de CA.

    
respondido por el bjbk 22.08.2015 - 05:31
1

Se puede usar una herramienta de terceros como DssW Sleep Monitor para rastrear la cantidad de tiempo que su Mac estuvo encendida. La aplicación rastrea el consumo de energía y la batería. Los totales están disponibles en el panel de información de las aplicaciones.

Escribí Sleep Monitor, así que soy parcial. También tenga en cuenta que Sleep Monitor 3 funciona en OS X 10.7 - 10.9.

    
respondido por el Graham Miln 08.11.2015 - 19:19

Lea otras preguntas en las etiquetas