Gibt es eine maximale Größe für die Bash-Verlaufsdatei?


Antworten:


15

Anstatt Zahlen anzugeben, können Sie dies auch tun

unset HISTSIZE 
unset HISTFILESIZE
shopt -s histappend

In diesem Fall ist nur Ihre Festplattengröße (und Ihre "größte Dateibeschränkung", falls Ihr Betriebssystem oder FS eine hat) die Grenze.

Beachten Sie jedoch, dass dies die Bash-Geschwindigkeit mit der Zeit immer mehr verlangsamen wird. In diesem BashFAQ-Dokument und im Artikel zur Debian -Administration (der ursprüngliche Link ist gestorben, schauen Sie in einen Spiegel: archive.is und archive.org ) finden Sie Techniken, die besser skalierbar sind .


Möglicherweise müssen Sie auch history-sizeIhre inputrc.
Chris Down

Warnung: Wie bereits erwähnt [ unix.stackexchange.com/a/76129/78713‹ ( unten)) , kann dies dazu führen, dass Bash die Standardeinstellungen übernimmt und diese abschneidet , falls Ihre vorhandenen .bash_historygrößer sind.
Chris Povirk

8

Sie können logrotate verwenden , um alte Einträge zu erhalten. So können Sie beispielsweise Größenbeschränkungen festlegen, die die Archivierung auslösen. Es wird normalerweise von einem täglichen Cronjob ausgeführt, aber Sie können es genauso gut über Ihr .bash_logoutSkript aufrufen .


Das scheint mir der nachhaltigste Ansatz zu sein, da die Aufhebung von Größenbeschränkungen auf lange Sicht Auswirkungen auf die Leistung hat. Ich bin mir zwar nicht sicher, ob ich bald die Schwelle erreichen werde, aber ich befürchte, dass es einige Zeit dauern wird, bis ich solche Auswirkungen bemerke. Erwägen Sie übrigens, die von Ihnen festgelegte Konfiguration und den optionalen Bash-Abmeldebefehl hinzuzufügen.
Balmipour

Die Verbindung ist ausgefallen. Vielleicht bearbeiten, um auf einen anderen Link mit derselben beabsichtigten Information zu verweisen?
Dr. Beco

7

@Philomath, das Deaktivieren dieser Umgebungsvariablen funktioniert bei mir überhaupt nicht! Für mich führt dies dazu, dass bash seine eingebauten Standardeinstellungen verwendet (es scheint), um .bash_history auf ungefähr 9 KB zu kürzen.

Was für mich funktioniert, ist das Folgende in meinem .bashrc:

export HISTSIZE=
export HISTFILESIZE=
shopt -s histappend
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.