capturing bash history
Bob Walker
bob at randomness.org.uk
Tue Jun 12 13:27:01 BST 2007
On Tue, 12 Jun 2007, Aaron Crane wrote:
:> Nigel Hamilton writes:
>> I'd like to keep a history of all shell commands across all the xterms I'm
>> using but the ~/.bash_history only holds history from one terminal. Any
>> ideas on interleaving the shell history from multiple terminals into one
>> file?
>
> This is the magic:
>
> # Append to the history file on shell exit, don't overwrite (so multiple
> # exiting shells don't race to scribble over your saved history)
> shopt -s histappend
>
> # Keep lots of history around
> export HISTSIZE=1000000 HISTFILESIZE=1000000
>
> # Store history in a different file, so it won't get overwritten if you
> # don't have these settings
> export HISTFILE=~/.bash_history_safe
>
> # Write unsaved history immediately before emitting each prompt
> export PROMPT_COMMAND='history -a'
>
> I stole most of that from Smylers:
>
> http://www.ukuug.org/events/linux2003/papers/bash_tips/
>
>> p.s. it would be great if I could get this to work across multiple machines
>> too --- but I'll settle for one machine to start with
>
> I've never wanted that, but it's essentially going to be a matter of copying
> history files from place to place, and appending their deduped contents to
> the desired history file on each machine. I suspect the trickiest bit is
> working out when to do it; on each prompt sounds painfully slow, for example.
>
>
--
Bob Walker
http://london.randomness.org.uk/
For great beery Justice!
More information about the london.pm
mailing list