美文网首页
CentOS7如何修改日志的时间戳格式

CentOS7如何修改日志的时间戳格式

作者: beeworkshop | 来源:发表于2019-07-18 02:03 被阅读0次
  1. 默认的日志时间戳显示为如下形式:
  • /var/log/secure
Jul 18 22:58:22 node0 su: pam_unix(su-l:session): session opened for user root by user(uid=1001)
Jul 18 23:03:31 node0 su: pam_unix(su-l:session): session closed for user root
  • /var/log/messages
Jul 14 09:22:07 node0 NetworkManager[701]: <info>  [1563067327.3908] dhcp4 (ens33):   address 192.168.74.129
Jul 14 09:22:07 node0 NetworkManager[701]: <info>  [1563067327.3914] dhcp4 (ens33):   plen 24 (255.255.255.0)
  1. 做如下修改
vim /etc/rsyslog.conf

# Use default timestamp format
# 下一行是原来的配置,将它注释
#$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
# 添加下面两行
$template CustomFormat,"%$NOW% %TIMESTAMP:8:15% %HOSTNAME% %syslogtag% %msg%\n"
$ActionFileDefaultTemplate CustomFormat

然后重启 rsyslog 服务
systemctl restart rsyslog.service

再看看结果:

  • /var/log/secure
2019-07-19 01:35:56 node0 polkitd[670]: Loading rules from directory /etc/polkit-1/rules.d
2019-07-19 01:35:56 node0 polkitd[670]: Loading rules from directory /usr/share/polkit-1/rules.d
  • /var/log/messages
2019-07-19 01:47:29 node0 NetworkManager[701]: <info>  [1563472049.7353] dhcp4 (ens33):   nameserver '192.168.74.2'
2019-07-19 01:47:29 node0 NetworkManager[701]: <info>  [1563472049.7353] dhcp4 (ens33):   domain name 'localdomain'
  1. 在/etc/profile中设置环境变量
export TIME_STYLE='+%Y/%m/%d %H:%M:%S'

只能修改ls命令的输出日期格式。

  1. 现在可以使用sed提取日志记录了
sed -n '/2018-11-08 10:15:00/, /2018-11-11 10:15:00/p' logfile

注意:日期字符串必须在logfile中存在。如果“2018-11-08 10:15:00”或者“2018-11-11 10:15:00”在logfile中没有,那么sed是不会输出任何结果的。

当然如下形式也可以按时间顺序过滤日志

sed -n '/Jul 18 22:09:53/,/Jul 18 22:56:03/p' logfile
sed -n '/Jul 18 22:09:53/,$p' logfile  这里$表示文件结尾

同样要求日期字符串必须在logfile中存在

相关文章

网友评论

      本文标题:CentOS7如何修改日志的时间戳格式

      本文链接:https://www.haomeiwen.com/subject/voedlctx.html