Gestión de History

Gestión de History

1 1394

El histórico (history) tiene varias opciones que podemos cambiar para tener un mejor control del mismo. Aquí vamos a ver algunas opciones para el control y gestión del fichero del histórico (history).

Mostrar la hora y fecha de cuando se tipeo el comando:

export HISTTIMEFORMAT='- %F %T - '

Con esto hacemos que en el fichero del histórico se guarde además del comando la fecha y hora de uso.

Control del tamaño del fichero del histórico:

Tenemos dos variables de entorno para ello, HISTSIZE y HISTFILESIZE, que indican el tamaño del fichero, por ejemplo:

HISTSIZE=1000
HISTFILESIZE=1000

Con esto hacemos que el tamaño máximo del fichero de histórico sea de 1000 comandos o líneas.
Si ponemos el tamaño de la variable HISTSIZE a cero hacemos que no se guarde nada en el histórico:

export HISTSIZE=0

Control de duplicados en el histórico:

En el histórico se van guardando TODOS los comandos que se van introduciendo aunque repitamos 20 veces el mismo, se guardará 20 veces, lo cual es en ocasiones una perdida de espacio, por lo que podemos usar la variable HISTCONTROL para hacer 2 cosas, una eliminar los duplicados consecutivos con ignoredups y dos eliminar los duplicados sean o no consecutivos con erasedups.

export HISTCONTROL=ignoredups
export HISTCONTROL=erasedups

Donde guardar el histórico:

Por defecto el histórico se guarda en ~/.bash_history pero podemos indicar donde guardarlo con la variable HISTFILE. HISTFILE=~/.bitacora.
Un truco muy bueno cuando en un mismo servidor entran varios administradores que se pasan a root y poder controlar y guardar que hace cada uno es guardar un histórico por cada uno de ellos de la siguiente forma:

export HISTSIZE=5000
export HISTFILESIZE=5000
export HISTFILE=/root/.bash_hist-$(who am i | awk '{print $1}';exit)

Con esto se guardará en la home de root un fichero de histórico por cada uno de los usuarios que se hayan pasado a root. El tamaño se puede ampliar o reducir a gusto. También podemos poner que ignore duplicados. Todas estas variables debemos ponerlas en un fichero donde se activen al arranque que puede ser ~/.bashrc.

Espero les sea útil.

SIMILAR ARTICLES

1 COMMENT

Leave a Reply