Existe um tamanho máximo para o arquivo de histórico do bash?

15

Posso aumentar o tamanho do histórico de comandos no bash?

Note que eu uso um computador Red Hat Linux no departamento de astrofísica de graduação aqui (então eu não tenho tantos privilégios).

    
por InquilineKea 29.07.2011 / 06:29

3 respostas

14

Em vez de especificar números, você pode fazer

unset HISTSIZE 
unset HISTFILESIZE
shopt -s histappend

em cujo caso apenas o tamanho do seu disco (e o seu "maior limite de arquivo", se o seu SO ou FS tiver um) é o limite.

No entanto, esteja ciente de que isso acabará por desacelerar mais e mais. veja este documento BashFAQ e o artigo do debian-administration (o link original morreu, olha no espelho: arquivo.is e < href="https://web.archive.org/web/20120411102123/https://debian-administration.org/articles/543"> archive.org ) para técnicas que melhorem a escala.

    
por 29.07.2011 / 09:03
7

Você pode usar logrotate para preservar as entradas antigas. Permite, por exemplo, definir limites de tamanho que acionam o arquivamento. Normalmente, ele é executado a partir de um cronjob diário, mas você também pode invocá-lo a partir do seu script .bash_logout .

    
por 29.07.2011 / 13:26
6

@Philomath, não ativar o ambiente vars não funciona para mim! Para mim, isso faz com que o bash use seus padrões internos (ao que parece) de truncar .bash_history para cerca de 9 KiB.

O que funciona para mim é o seguinte no meu .bashrc:

export HISTSIZE=
export HISTFILESIZE=
shopt -s histappend
    
por 17.05.2013 / 02:41