Re: history configuration
On Thu, Mar 8, 2012 at 12:01 PM, Karl Vogel <vogelke+debian@pobox.com> wrote:
>>> On Wed, 29 Feb 2012 00:19:19 +0800, lina <lina.lastname@gmail.com> said:
>
> L> How to configure to make each terminal share one "history"? I found
> L> each terminal saves its own history and no sharing. Is it possible to
> L> let them share?
>
> You can if you don't mind stretching the definition of "share". Have a
> look at this page to see how to save your command history to syslog:
> http://jablonskis.org/2011/howto-log-bash-history-to-syslog/
>
> Here's an example. I added this to the end of ~/.bashrc to save history
> to my own file and the system log:
>
> export PROMPT_COMMAND='history -a >(tee -a ~/.bash_history |
> logger -p local2.notice -t "$USER [$$] $SSH_CONNECTION")'
>
> This sends my history to facility "local2" with priority "notice".
> I fixed syslog so local[25] messages only show up in one place; I already
> use local5 for output from a backup program. Here's the relevant part
> of /etc/syslog.conf -- backslashes must be at the end of the lines:
>
> # Log anything (except mail) of level info or higher.
> # Don't log private authentication messages!
> *.info;kern.none;mail.none;\
> authpriv.none;auth.none;local2.none;\
> local5.none;cron.none /var/log/messages
> # Auth logfiles are restricted.
> authpriv.* /var/log/secure
> auth.* /var/log/authlog
> # Local logs.
> local0.* /var/log/local0log
> local1.* /var/log/local1log
> local2.* /var/log/local2log
> local3.* /var/log/local3log
> local4.* /var/log/local4log
> local5.* /var/log/local5log
> local6.* /var/log/local6log
> # Cron stuff
> cron.* /var/log/cron
>
> Here's what my history looks like:
>
> me% tail -3 /var/log/local2log
> Mar 7 22:09:22 svr1 vogelke [149] 1.2.3.4 46555 5.6.7.8 22: which logger
> Mar 7 22:09:31 svr1 vogelke [149] 1.2.3.4 46555 5.6.7.8 22: echo $PATH
> Mar 7 22:09:44 svr1 vogelke [149] 1.2.3.4 46555 5.6.7.8 22: dir /var/log/local*
>
> me% tail -3 $HOME/.bash_history
> which logger
> echo $PATH
> dir /var/log/local*
>
> "1.2.3.4" is where I'm connecting from, "5.6.7.8" (aka "svr1") is the
> host I'm connecting to via SSH. If you use the Z-shell instead of bash,
> the method is pretty similar -- add this function to the bottom of your
> ~/.zshrc file:
>
> # Log commands, return codes and the current working directory.
> # Based on:
> #
> # http://blogs.sun.com/chrisg/entry/logging_commands_in_korn_shell
> # Logging commands in korn shell
> # Chris Gerhard
> # Thu, 2 Mar 2006 09:47:29 -0500
> #
> # Don't try to put local on the x= line. If you do,
> # any command arguments (i.e., "ls -la") will throw an error:
> # precmd:local:2: not an identifier: -la
> precmd () {
> typeset -i stat=$?
> local x
> x=$(fc -ln -1)
> local d="$(/bin/pwd)"
> logger -p local2.notice -t "$LOGNAME $$" $stat: $d: \($x\)
> }
>
> In order to really share this, you'd probably have to write something to
> grub around in the syslog file.
Thanks Karl, I will "bookmark" this email and do it one day when I get
more understandings.
Best regards,
>
> --
> Karl Vogel I don't speak for the USAF or my company
>
> She acts like she's on the phone to avoid certain customers. One time it rang.
> --Jimmy Fallon, #mycoworkeriscrazy tweets, 2 Mar 2012
>
>
> --
> To UNSUBSCRIBE, email to debian-user-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
> Archive: [🔎] 20120308040126.7EC1CBFBA@kev.msw.wpafb.af.mil">http://lists.debian.org/[🔎] 20120308040126.7EC1CBFBA@kev.msw.wpafb.af.mil
>
Reply to: