30 lines
1.3 KiB
Bash
30 lines
1.3 KiB
Bash
#!/bin/bash
|
|
## 2016-06-06
|
|
## http://www.aqzt.com
|
|
##email: ppabc@qq.com
|
|
##robert yu
|
|
##centos 6
|
|
|
|
### 设置保存历史命令的文件大小
|
|
export HISTFILESIZE=10000000
|
|
### 保存历史命令条数
|
|
export HISTSIZE=1000000
|
|
### 实时记录历史命令,默认只有在用户退出之后才会统一记录,很容易造成多个用户间的相互覆盖。
|
|
export PROMPT_COMMAND="history -a"
|
|
### 记录每条历史命令的执行时间
|
|
export HISTTIMEFORMAT="%Y-%m-%d_%H:%M:%S "
|
|
|
|
##记录history历史命令 时间 IP等
|
|
##export HISTTIMEFORMAT="{\"TIME\":\"%F %T\",\"HOSTNAME\":\"\$HOSTNAME\",\"LI\":\"\$(who -u am i 2>/dev/null| awk '{print \$NF}'|sed -e 's/[()]//g')\",\"LU\":\"\$(who am i|awk '{print \$1}')\",\"NU\":\"\${USER}\",\"CMD\":\""
|
|
cat >>/etc/bashrc<<EOF
|
|
HISTDIR='/var/log/command.log'
|
|
if [ ! -f \$HISTDIR ];then
|
|
touch \$HISTDIR
|
|
chmod 666 \$HISTDIR
|
|
fi
|
|
export HISTTIMEFORMAT="{\"TIME\":\"%F %T\",\"IP\":\"\$(ip a | grep -E '192.168|172' | head -1 | awk '{print$2}' | cut -d/ -f1)\",\"LI\":\"\$(who -u am i 2>/dev/null| awk '{print \$NF}'|sed -e 's/[()]//g')\",\"LU\":\"\$(who am i|awk '{print \$1}')\",\"NU\":\"\${USER}\",\"CMD\":\""
|
|
export PROMPT_COMMAND='history 1|tail -1|sed "s/^[ ]\+[0-9]\+ //"|sed "s/$/\"}/">> /var/log/command.log'
|
|
EOF
|
|
|
|
source /etc/bashrc
|
|
echo OK |