¿Hay un registro que registre paradas en Linux?

38

Me preguntaba si hay un archivo de registro en Linux que registra cada vez que se apaga la computadora.

La razón por la que pregunto es que estoy haciendo algunas pruebas que involucran cuánto tiempo dura la batería de mi computadora portátil bajo ciertas condiciones. Mi computadora portátil está configurada para apagarse automáticamente cuando quedan aproximadamente 10 minutos de batería, por lo que si hay un archivo de registro en algún lugar que registre cuándo se apaga la computadora, esto hará que mis pruebas sean mucho más fáciles.

Estoy ejecutando Ubuntu 10.04. ¡Gracias!

Miguel
fuente

Respuestas:

15

El /var/log/messagesarchivo realmente debería tener algo relacionado con los cierres, por ejemplo, el mío (CentOS 5) tiene líneas como esta:

Jul 18 23:00:13 nero shutdown[2649]: shutting down for system halt
...
Jul 18 23:00:27 nero kernel: Kernel logging (proc) stopped.
Jul 18 23:00:27 nero kernel: Kernel log daemon terminating.

Verifique su /etc/syslog.confo /etc/rsyslog.confequivalente para asegurarse de que los registros van allí. Probablemente necesitará privilegios de root para leer los archivos de registro.

Además, aunque no se apaga per se, el comando "último" debería informar reinicios.

¿Realmente no hay nada en los registros alrededor de la última vez que cerró?

Para su prueba, tenga en cuenta que su computadora solo sabe que le quedan 10 minutos debido a la información que informa la batería, que puede o no ser precisa. En lugar de esperar los cierres, puede mirar la información de ACPI directamente. En mi computadora portátil está aquí:

/proc/acpi/battery/BAT0/

Allí, los archivos "estado" e "información" parecen interesantes. Puede ver la capacidad restante en el archivo de estado mientras está ejecutando su computadora portátil en varias condiciones para ver qué tan rápido se cae.

AN Otro
fuente
3
A menos que me lo pierda, no veo ningún tipo de mensaje de "apagado" en / var / log / messages. A veces aparece el mensaje "Kernel logging (proc) stop", pero no siempre. Sin embargo, correr last -xfunciona. Este comando muestra una línea similar a la siguiente: shutdown system down 2.6.32-23-generi Sun Jul 25 09:12 - 19:00 (-14815+-13: Gracias por la información sobre la batería. Mi sistema también tiene esto, ¡así que tendré que comprobarlo! Parece actualizar estos archivos cada 5 segundos más o menos. ¡Gracias!
Michael
Gracias de nuevo. Mis resultados están aquí: mangstacular.blogspot.com/2010/07/…
Michael
28

¿Qué tal el comando last -x shutdown?

Janne Pikkarainen
fuente
5

Primero, permítanme comenzar diciendo que sé que este es un hilo antiguo. Solo comento para que otros que encuentren esto mientras hurgan en la red (como lo hice hoy) tengan una respuesta clara.

En segundo lugar, tenga en cuenta que el siguiente comando es una mala práctica y se incluye en la categoría "usos inútiles de cat" (búsqueda en Google) ...

cat /var/log/messages | grep "`LC_ALL=en_en.utf8 date +"%b %e"`"

Esa línea debe cambiarse a:

grep "`LC_ALL=en_en.utf8 date +"%b %e"`" /var/log/messages

grep, y la mayoría de los comandos unix / linux (sed, awk, etc ...) no requieren que cat lea el contenido de un archivo. Es suficiente colocar la ruta y el nombre del archivo después del comando para pasarlo como argumento. Agregar una tubería y otro comando externo (cat) es solo pérdida de tiempo y recursos.

Finalmente, en cuanto a dónde encontrar un registro de los apagados y / o reinicios del sistema, use el último comando, ya que eso es exactamente para lo que está destinado. Lee el archivo de registro / var / log / wtmp para todas las entradas de inicio / cierre de sesión. Debido a que los apagados y reinicios son en realidad un evento de inicio / cierre de sesión a nivel del sistema, se registran aquí. Lo mismo se aplica para el apagado de la consola raíz, es un evento de cierre de sesión.

Ejemplo:

last -5 reboot shutdown root

Esto le dará las últimas 5 entradas de reinicio, apagado y raíz (se incluye el apagado de la consola) en el registro de wtmp.

Resultado:

reboot    ~                         Mon Mar 23 14:51
shutdown  ~                         Mon Mar 23 14:49
root      console                   Mon Mar 23 14:49 - shutdown  (00:00)
reboot    ~                         Mon Mar 16 09:54
shutdown  ~                         Thu Mar 12 17:41

Espero que esto ayude a cualquiera que se encuentre con este hilo. :-)

David Dreggors
fuente
Alternativamente simplemente last -xo last -F -R -x runlevel. Con el propósito de monitorear la batería en Ubuntu, grep hooks /var/log/pm-suspend.logtambién puede ser útil para mostrar suspender y reanudar. Desafortunadamente, pm-powersave.log no almacena las veces que se conecta la alimentación de CA (a menos que agregue su propio gancho). Puede valer la pena leer help.ubuntu.com/community/PowerManagement/ReducedPower .
Cedric Knight
En cuanto a UUoC, $ CPU time << $ Brain time ...
MikeP
1
Cada persona que menciona los "usos inútiles del gato" probablemente esté dedicando más tiempo a señalar el hecho que el tiempo total de la CPU dedicado a los usos inútiles del gato en todas las computadoras en la tierra (y, a veces, hinchan innecesariamente su respuesta por lo demás agradable como un efecto secundario: - como este)
ndemou
4

El archivo / var / log / messages debe contener esta información

ennuikiller
fuente
No vi nada en ese archivo relacionado con el cierre. :( Intenté agrupar todos los demás archivos en ese directorio usando la marca de tiempo del momento en que apagué la computadora, pero no tuve suerte:grep -r "Jul 24 14:" /var/log/*
Michael
El archivo no existe en linux mint mate 17.
Eric Wang
2

si desea realizar un seguimiento de cuánto tiempo ha estado funcionando su computadora en el pasado, puede usar algo como el tiempo de actividad.

viene con un programa llamado uprecords que le muestra cuánto tiempo ha estado encendido su computadora.

usuario43856
fuente
1

Aquí hay una línea para enumerar todos los mensajes del día actual:

cat /var/log/messages | grep "`LC_ALL=en_en.utf8 date +"%b %e"`"

Esto fue probado en CentOS por lo que YMMV.

Y, por supuesto, existe last rebooty last shutdown(como se mencionó), pero esto es demasiado simple para mis necesidades (solo proporciona fechas).

Nux
fuente
1

last reboot trabajó para mí en CentOS 6.7.

Para mostrar el año en la salida, por lo que en realidad tiene sentido si tiene más de un año de registros, haga

last -F reboot

Aunque deduzco que el modificador -F no funciona en algunos sistemas, como Solaris. Sin embargo, aparentemente es parte del último de GNU.

Gracias a https://unix.stackexchange.com/a/97597/174520

Aaron Wallentine
fuente
0

si no hay un registro presente, puede intentar agregar alguna 'fecha >> mylog' al script de apagado (en algunos discos, se llama rc.shutdown)

o, también hay una forma sin necesidad de previo. correr:

while [ 1 ];do sleep 5;date>mylog;sync;done

y seguir mylog en la próxima sesión.

Bromista
fuente