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

17

Kann ich den Befehlsverlauf in Bash vergrößern?

Beachten Sie, dass ich hier einen Red Hat Linux-Computer in der Abteilung für Astrophysik benutze (damit ich nicht so viele Berechtigungen bekomme).

InquilineKea
quelle

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 .

Philomath
quelle
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 .

rozcietrzewiacz
quelle
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
zenaan
quelle