Existe-t-il une taille maximale pour le fichier d'historique bash?


Réponses:


15

Au lieu de spécifier des nombres, vous pouvez faire

unset HISTSIZE 
unset HISTFILESIZE
shopt -s histappend

dans ce cas, seule la taille de votre disque (et votre "plus grande limite de fichiers", si votre système d'exploitation ou FS en a une) est la limite.

Cependant, sachez que cela ralentira de plus en plus bash. voir ce document BashFAQ et l'article debian-administration (lien d'origine mort, regardez dans un miroir: archive.is et archive.org ) pour des techniques qui évoluent mieux.


Vous devrez peut-être aussi augmenter history-sizevotre inputrc.
Chris Down

Avertissement: comme indiqué [ unix.stackexchange.com/a/76129/78713 ((() ci-dessous) , cela peut faire en sorte que Bash hérite des valeurs par défaut et, si votre .bash_historytaille est supérieure à celles-ci, la tronque.
Chris Povirk

8

Vous pouvez utiliser logrotate pour conserver les anciennes entrées. Il vous permet, par exemple, de définir des limites de taille qui déclencheront l'archivage. Il est normalement exécuté à partir d'un cronjob quotidien, mais vous pourriez tout aussi bien l'invoquer à partir de votre .bash_logoutscript.


Cela me semble être l'approche la plus durable, car la suppression des limites de taille aura, à long terme, des impacts sur les performances. Bien que je ne sois pas sur, j'atteindrai le seuil de sitôt, je crains que cela ne prenne un certain temps pour commencer à remarquer de tels impacts. Btw, pensez à ajouter la configuration que vous définissez et la commande optionnelle bash logout à ajouter.
Balmipour

Le lien est en panne. Peut-être modifier pour pointer vers un autre lien avec les mêmes informations prévues?
Dr Beco

7

@Philomath, la suppression de ces variables d'environnement ne fonctionne pas du tout pour moi! Pour moi, cela fait que bash utilise ses valeurs par défaut intégrées (il semble) de tronquer .bash_history à environ 9 Ko.

Ce qui fonctionne pour moi est le suivant dans mon .bashrc:

export HISTSIZE=
export HISTFILESIZE=
shopt -s histappend
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.