加入新公司以后,我发现很多的开发与测试服务器的权限放得很开,很多人都有账号,而且不少人还有root权限,因此常常出现一些误操作问题,每次在出现问题的时候他们都会来找我查一下哪个用户在什么时间执行了什么操作导致的问题。

由于Linux默认的history记录仅保存了命令的内容,没有具体的时间,我只能通过查出用户的登录与退出的时间,来给他们一个时间范围。

因此,我们非常有必要对history历史命令的记录功能进行优化,我推荐的参数如下:

编辑/etc/bashrc,添加以下配置信息:

1 # 设置保存历史命令的文件大小
2 export HISTFILESIZE=1000000000
3 # 保存历史命令条数
4 export HISTSIZE=1000000
5 # 实时记录历史命令,默认只有在用户退出之后才会统一记录,很容易造成多个用户间的相互覆盖。
6 export PROMPT_COMMAND="history -a"
7 # 记录每条历史命令的执行时间
8 export HISTTIMEFORMAT="%Y-%m-%d_%H:%M:%S "

使更改立即生效:
# source /etc/bashrc

查看历史命令记录:
# history

即可看到如下图所示的带有执行时间的新格式: