Linux上设置历史命令时间戳(简单又实用技巧)

科技   2024-10-03 11:09   广东  

今天分享一个生产环境避免背锅的小技巧:设置历史命令执行的具体时间可以快速定位问题出现的时间点并恢复误操作导致的系统问题,用于追踪溯源。

在Linux系统中,默认情况下,history命令只会显示命令的编号和命令内容,并不会显示执行的日期。历史命令的显示时间是由HISTTIMEFORMAT环境变量控制的。要显示历史命令的时间戳,你需要将此变量设置为你希望时间戳的格式。

临时生效:

[root@localhost ~]export HISTTIMEFORMAT="%d/%m/%y %T "

查看到可以显示具体时间了,但是这种方式重启会失效,仅在当前会话有效

[root@localhost ~]history 
    1  03/10/24 10:48:01 lsblk
    2  03/10/24 10:48:01 echo $LANG

永久生效(重启后自动加载):

[root@localhost ~]cat >> /etc/profile << EOF
export HISTTIMEFORMAT="%d/%m/%y %T "
EOF


[root@localhost ~]source /etc/profile 
[root@localhost ~]# history 
    1  03/10/24 10:48:01 lsblk
    2  03/10/24 10:48:01 echo $LANG

格式字符串%d/%m/%y %T将按日期、月份、年份的简写格式显示时间戳,然后是小时、分钟和秒。可以根据自己喜好进行自定义

查看变量

[root@localhost ~]echo $HISTTIMEFORMAT
%d/%m/%y %T


需要注意的是:之前的历史命令的时间会显示设置时的时间,并不能追溯以前执行过的命令的具体时间,所以生产环境中建议在部署时就设置历史命令时间戳。


本篇关于设置历史命令时间的知识分享完结!感谢你的阅读,如果有错误之处,敬请指出;如果觉得还OK,欢迎点赞 ;关注 ; 收藏 ; 私信;一起成长!!

运维李哥不背锅
专注于各种运维技术、,分享Linux基础知识,服务器,数据库,云原生和网络安全等相关技术,各种进阶知识等着你,助你成为技术达人!
 最新文章