Cómo registrar la fecha y hora de los comandos introducidos en la terminal.

Enviado por siddharta el 5 Septiembre, 2009 - 00:07.

kterm.pngidea.png

QUÉ HICE

En mis equipos siempre modifico una variable de entorno (tanto para los usuarios ordinarios como para root), para poder visualizar la fecha y hora en la que se ejecutaron comandos en la consola al consultarlos con el comando history.

CÓMO LO HICE

1.- abrir el archivo (no es necesario hacerlo como root) el archivo ~/.profile, que es en donde se sugiere almacenar las variables de entorno que el usuario decida manejar:

$ kate ~/.profile

2.- agregar al final del archivo las líneas siguientes:

###################################################
# variables
export HISTTIMEFORMAT='[%F %T] '
export HISTFILEZISE=2000
export HISTSIZE=2000

La variable HISTTIMEFORMAT establecerá cómo se mostrará el historial de los comandos, mostrando la fecha (%F) y la hora (%T). Las variables HISTFILESIZE e HISTSIZE indican cuántos comandos recordará el sistema, y en este caso yo he decidido usar 2,000.

3.- cerrar el archivo guardando los cambios, y ejecutar la siguiente instrucción para que el sistema vuelva a cargar el archivo modificado en el paso anterior:

$ source ~/.profile

Ahora, al ejecutar el comando history se mostrará la fecha y hora de ejecución además de los comandos ejecutados. A continuación unos ejemplos:

Mostrar los últimos 10 comandos, útil cuando se sabe que recientemente se hizo algo:

$ history 10
  481  [2009-09-04 12:50:13] which email
  482  [2009-09-04 12:50:23] cd /usr/local/bin/
  483  [2009-09-04 12:50:24] ls -l
  484  [2009-09-04 12:51:39] cd /usr/local/etc/email/
  485  [2009-09-04 12:51:41] ls -l
  486  [2009-09-04 12:51:58] cat email.address.template
  487  [2009-09-04 13:04:58] aptitude search kdm
  488  [2009-09-04 14:00:12] ls /home/siddharta/.profile
  489  [2009-09-04 14:00:15] cat /home/siddharta/.profile
  490  [2009-09-04 14:01:04] ls ~/.

El siguente ejemplo es útil para cuando uno dice -"no recuerdo qué hice pero sí recuerdo que fue el viernes de la semana pasada"-:

primero se muestra el calendario del mes:

$ cal

o de todo el año:

$ cal 2009

y habiendo determinado que el viernes de la semana pasada fue el 1 de Agosto de 2009:

$ history | grep 2009-08-01
  463  [2009-09-01 05:06:03] which fluxconf
  464  [2009-09-01 05:06:16] ifconfig
  465  [2009-09-01 05:06:25] sudo aptitude install fluxconf
  466  [2009-09-01 05:48:57] avast --help
  467  [2009-09-01 05:49:32] avast
  468  [2009-09-01 05:50:50] exit
  469  [2009-09-01 07:22:31] tree
  470  [2009-09-01 07:26:01] exit

Mostrar cuándo se usó aptitude para instalar:

$ history | grep 'aptitude install'
   80  [2009-07-21 17:45:53] sudo aptitude install build-essential
  144  [2009-07-21 18:38:29] sudo aptitude install cpulimit
  277  [2009-08-11 12:13:16] sudo aptitude install nbtscan
  465  [2009-09-01 05:06:25] sudo aptitude install fluxconf

Mostrar cuándo se eliminó algo (y qué se eliminó, si acaso ya no se recuerda):

$ history | grep rm
   72  [2009-07-21 16:51:20] rm -fr system32/
  164  [2009-07-21 18:46:36] rm -fr windows/

Prácticamente cualquier comando que se haya introducido anteriormente aparecerá en el historial. La novedad es que ahora se sabrá cuándo y a qué hora.

Por último si se desea limpiar (clean) el historial se ejecuta el comando:

$ history -c

POR QUÉ LO HICE

Muchos usuarios no recuerdan qué comandos han introducido con anterioridad en la consola, por lo tanto cuando algo falla y se les pregunta qué hicieron generalmente no saben responder y esto dificulta el poder ayudarles. La mayoría de las veces sólo recuerdan cuándo hicieron algo, y de ahí surgió la necesidad de este documento.

napi ( http://www.kubuntu-es.org/foro/200906/fecha-hora-registro-log-shell-bash ) compartió en el foro un forma de configurar la fecha y hora usando la variable de entorno HISTTIMEFORMAT ya mencionada, y la implementé de inmediato pues estoy acostumbrado a tratar de llevar un buen registro de mis actividades.

Ha pasado ya casi 3 meses desde entonces, y he notado que no todos dedicamos tiempo para no sólo hacer preguntas, sino también para navegar por las distintas categorías del foro, leyendo y aprendiendo, encontrando muy buenas sugerencias de otros usuarios. Así que por esta razón dediqué unos minutos para compartir lo que aprendí, quizás esto de una idea más general de cuán útil puede ser adjuntar la fecha y hora al historial.

Saludos a todos,
Sidd.

Imagen de PabliNet
Enviado por PabliNet el 5 Septiembre, 2009 - 01:43.

Espectacular como siempre lo suyo...

Imagen de ojcar
Enviado por ojcar el 5 Septiembre, 2009 - 04:10.

Muy útil, y gracias por compartirlo con nosotros ^^

Imagen de abuhacker
Enviado por abuhacker el 5 Septiembre, 2009 - 04:19.

Sin duda algo de gran utilidad para quienes preferimos no dejar todo librado a la memoria,que por lo general es imprecisa .
Excelente !!!

Imagen de siddharta
Enviado por siddharta el 7 Septiembre, 2009 - 04:40.
abuhacker escribió:

Sin duda algo de gran utilidad para quienes preferimos no dejar todo librado a la memoria,que por lo general es imprecisa .
Excelente !!!

Así lo expresa el conocido proverbio chino: -"Más vale tinta pálida que mente brillante"- matu