Linux运维同学们经常会用history命令来查看命令的历史记录,有时候是为了查找”犯罪证据“,但因为history命令输出默认只有ID和command,查找的同学还想知道命令对应的时间,有没有办法让时间也显示出来呢?办法是有的。本文主要讲讲相关的配置。
正文
以root用户登录服务器,在/etc/profile.d/下新建一个文件history_command
vim /etc/profile.c/history_command
export HISTFILE=$HOME/.bash_history
export HISTSIZE=1200
export HISTFILESIZE=1200
export HISTCONTROL=ignoredups
export HISTTIMEFORMAT="`whoami` %F %T "
shopt -s histappend
typeset -r HISTTIMEFORMAT
source /etc/profile.c/history_command ,使其生效,再敲history命令看看:
#history 5
1008 root 2015-09-11 08:54:20 vim /etc/profile
1009 root 2015-09-11 09:13:17 history | less
1010 root 2015-09-11 09:15:49 vim /etc/profile
1011 root 2015-09-11 09:43:20 cat /etc/profile.d/history_command
1012 root 2015-09-11 09:44:59 history 5
时间已经有了,/etc/profile和/etc/profile.d/下的文件会在用户interactive login的时候自动执行,所以用户登录机器后每敲一个命令都会被记录到HISTFILE指定的文件中,而且是以追加的方式写入的。
配置中最关键的地方是export HISTTIMEFORMAT="`whoami` %F %T " , 这一行指定history的输出格式。