english version - all spanish posts
La forma mas habitual de averiguar cuando se produjo el último inicio del sistema es mediante el comando uptime:
root@blogspot:~# uptime 22:28:20 up 22 days, 12:48, 1 user, load average: 0.11, 0.04, 0.00
Pero ese comando no nos dice CUANDO sino HACE CUANTO.
Así que aunque solo sea por curiosidad aquí van unas cuantas recetas para obtener el CUANDO:
Mediante who:
root@blogspot:~# who -b system boot 2010-01-04 09:39
Con last:
root@blogspot:~# last reboot reboot system boot 2.6.24-24-server Mon Jan 4 09:39 - 22:30 (22+12:51) wtmp begins Mon Jan 4 09:34:08 2010
Lamentablemente "last" depende del registro wtmp que suele ser limpiado periódicamente (dependiendo de la distribución y de la configuración que se haga de logrotate). Por este motivo en servidores con un uptime muy elevado "last reboot" puede no ser demasiado útil.
Finalmente el método que más me gusta: a partir de la fecha epoch del arranque está almacenada en /proc/stat:
root@blogspot:~# date -d @$(sed -n 's/btime \(\d*\)/\1/p' /proc/stat) Mon Jan 4 09:39:24 CET 2010
Como cada vez que uso sed, awk o grep me gusta obtener sus equivalentes para cada uno os propongo alguna alternativa (de las decenas que hay) al anterior comando sed; con awk:
root@blogspot:~# date -d @$(awk '$1 ~ /btime/ {print $2}' /proc/stat) Mon Jan 4 09:39:24 CET 2010
Y con grep, en este caso con su compatibilidad con expresiones perl:
root@blogspot:~# date -d @$(grep -Po '(?<=btime )(\d*)' /proc/stat) Mon Jan 4 09:39:24 CET 2010
0 comments:
Post a Comment