为history添加时间戳格式

发布时间:2020-06-19编辑:脚本学堂
history可以显示出之前在 shell 中运行的命令...

history可以显示出之前在 shell 中运行的命令,但是如果需要查什么时候什么人执行了什么命令似乎还是非常吃力,因为你即使查到了一条你认为不应该执行的命令,你也不能准确的说出这条命令是谁来执行的,更不能精确的指出这条命令就是事故发生的时候执行的,怎么办? shterm? 这个对于一般中小型公司来说似乎还是非常昂贵的,怎么办?
 
设置很简单:
 [dbadmin@JR-ZR01-TEST ~]$ history
    1 ls
    2 pwd
    3 iptables-save
    4 history
    5 unset HISTTIMEFORMAT
    6 history

设置方法:
[root@MO-ZR01-WEB ~]# export HISTTIMEFORMAT="%F %T `whoami` "
[root@MO-ZR01-WEB ~]# echo 'export HISTTIMEFORMAT="%F %T `whoami` "' >> /etc/profile

[dbadmin@JR-ZR01-TEST ~]$ history
    1 2008-06-20 05:36:14 dbadmin ls
    2 2008-06-20 05:36:16 dbadmin pwd
    3 2008-06-20 05:36:19 dbadmin iptables-save
    4 2008-06-20 05:36:23 dbadmin history
    5 2008-06-20 05:36:31 dbadmin unset HISTTIMEFORMAT
    6 2008-06-20 05:36:32 dbadmin history
    7 2008-06-20 05:37:19 dbadmin export HISTTIMEFORMAT="%F %T `whoami` "
    8 2008-06-20 05:37:20 dbadmin history

     HISTTIMEFORMAT 的格式就是 strftime 函数的格式,比如上面的  "%F %T",%F 表示显示出 Y-M-D 格式的日期,%T 表示显示出  H-M-S 这样格式的时间。
更多格式参考 man strftime。