在问题定位时,我们有时需要查看history命令记录,看是否有删除/移动文件、修改配置等误操作,为history命令添上时间记录,可便于分析、定位问题。
默认的情况下,history执行结果显示如下:
# cat -n /root/.bash_history
1 #1336238988
2 ifconfig
3 #1336239591
4 cd /var/adm/autoinstall/scripts/
以上输出中,数值1336238988表示自计算机计时元年——1970年1月1日至命令执行时经过的秒数。下面的ifconfig当然就是我们执行的命令。
有了1336238988这个数值,当然可以转换为一般容易读取的时间格式:
linux # date -d "1970-01-01 UTC 1336238988 seconds" "+%Y-%m-%d %T"
2012-05-06 01:29:48
更方便的方法是更改系统配置,使得history显示为以下格式:
linux # history | more
1 2012-08-28 14:36:27 uname
2 2012-08-01 17:06:43 telnet 10.71.171.145 1101
3 2012-08-01 17:33:47 exit
4 2012-08-28 14:36:27 uname
这样显示是不是清晰很多哩!具体配置方法如下:
背景信息
history命令中加入执行时间的记录,便于查看历史操作记录。
参考标准
cat /etc/bash.bashrc |grep -e "HISTTIMEFORMAT" -e "HISTSIZE" 配置文件中存在以下信息:
HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "
export HISTTIMEFORMAT
HISTSIZE=9999
export HISTSIZE
或者“/etc/bash.bashrc”配置文件中存在以下信息:
export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "
export HISTSIZE=9999
操作步骤
步骤 1 以root用户登录主机。
步骤 2 检查bash环境history命令中是否加入了执行时间。
# cat /etc/bash.bashrc |grep -e "HISTTIMEFORMAT" -e "HISTSIZE"
例如,显示如下信息:
HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "
export HISTTIMEFORMAT
HISTSIZE=9999
export HISTSIZE
----结束
整改操作影响
可在线整改,对业务无影响。
处理措施
当检查结果不符合参考标准时,请处理方法如下:
步骤 1 以root用户登录主机。
步骤 2 修改“/etc/bash.bashrc”配置文件。
# vi /etc/bash.bashrc
修改后的文件中存在以下内容:
HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "
export HISTTIMEFORMAT
HISTSIZE=9999
export HISTSIZE
或者修改后的文件中存在以下内容:
export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "
export HISTSIZE=9999
----结束