[Bash] : archiver et historiser son historique de commandes

Quand on a une petite tête il vaut mieux savoir s’organiser et faire en sorte de retrouver les choses. Pour cela il existe l’historique de votre bash accessible via « history » ou encore ctrl+r pour la recherche de commande.

C’est déjà pas mal mais parfois un peu court même en augmentant la taille de l’historique via :

export HISTSIZE=10000


Dans mon cas ma tête est tellement petite que j’ai mis en place un système d’archivage de l’historique bash. Comme ce n’est pas complqiué ça coûte rien et je vous rassure ça ne prend pas trop de place.

J’ai donc créé un répertoire dans mon home qui s’intitule « .logs » et on y trouve :

15:11:57 - oki @ doki ~ 
└─ $ ▶ tree .logs
.logs
├── bash-history-04-25.log
├── bash-history-18-04.log
├── bash-history-18-05.log
├── bash-history-18-06.log
└── bash-history-18-07.log


Un fichier par mois avec toutes les commandes passées (on peut aussi filtrer les commandes pour ne pas prendre en compte les LS ou autres CD mais je trouve que c’est pas l’idée).

Pour faire cela j’ai ajouté dans mon .bash_profile les lignes ci-dessous :

PROMPT_COMMAND='if [ "$(id -u)" -ne 0 ];\
then echo "$(date "+%Y-%m-%d.%H:%M:%S")\
$(pwd) $(history 1)" >> ~/.logs/bash-history-$(date "+%y-%m").log; fi'


Donc :

  • on créé une commande qui si uid ne vaut pas 0 s’exécute
  • on commance par un echo de la date
  • puis le répertoire courant
  • puis la commande passée
  • et on édite tout cela dans le fichier de logs
close up code coding computer
Photo by Digital Buggu on Pexels.com

4 commentaires sur “[Bash] : archiver et historiser son historique de commandes

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s