Linux e history: come aggiungere data ed ora di esecuzione dei comandi

Uno dei comandi più utili per i sysadm di Linux è sicuramente history, che riporta la cronologia dei comandi digitati nelle sessioni shell.

Tuttavia, nella configurazione di default di moltissime distro, history riporta solo la lista dei comandi eseguiti ma non è configurato per tracciare la data e l’ora dell’esecuzione dei vari comandi.

Per aggiungere data ed ora, è necessario editare da root il file /etc/environment ed aggiungere:
HISTTIMEFORMAT="%d/%m/%y %T "

E’ sufficiente eseguire il logout/login della sessione per verificare che tutto stia funzionando correttamente: da questo momento in poi, per tutti i comandi lanciati sarà presente nella lista anche data ed ora; per i comandi lanciati precedentemente invece sarà presente solo la data della modifica di /etc/environment.

Vi suggerisco un altro paio di modifiche ad /etc/environment per migliorare il logging di history, che di default è limitato a 1000 (o 2000) righe:
HISTSIZE=-1
HISTFILESIZE=-1

renderanno il logging infinito, sia per numero di righe che di dimensione del file.