[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: