2012年8月7日 星期二

Linux Shell Command Logger

1. 新增下列到/etc/bashrc中
export PROMPT_COMMAND='RETRN_VAL=$?;logger -p local6.debug "$(whoami) [$$]: $(history 1 | sed "s/^[ ]*[0-9]\+[ ]*//" ) [$RETRN_VAL]"'
若您使用的是ubuntu,則檔案為/etc/bash.bashrc。若使用centos,檔案為/etc/profile
ps. /etc/profile或/etc/bashrc等檔案要視順序設定,可參考http://www.51testing.com/?uid-225738-action-viewspace-itemid-216622

2. 新增下列到/etc/syslog.conf
local6.*                /var/log/commands

3. 若需要log rotate,則新增/var/log/commands這行到/etc/logrotate.d/rsyslog中 (以ubuntu為例,若您使用centos則是/etc/logrotate.d/syslog)

4. 參考資料
http://blog.kxr.me/view/classic
http://efreedom.com/Question/6-93566/Log-Bash-Commands-Users-Server