我想把每行的日期与给定的日期进行比较。在
# Example dump
cat /var/log/auth.log
Mar 5 00:53:43 server012 sshd[15145]: Failed password for XX from X.X.X.X port 59113 ssh2
Mar 5 12:19:20 server012 sshd[17378]: Invalid user XX from X.X.X.X
Mar 5 12:19:20 server012 sshd[17378]: input_userauth_request: invalid user XX [preauth]
Mar 5 12:19:25 server012 sshd[17378]: Failed none for invalid user XX from X.X.X.X port 38485 ssh2
Python示例:
^{pr2}$我很容易打开日志文件,一行接一行地读。 我的问题是regex/compile命令读取日期(例如:mar5112:19:25)。谁能帮我?在
下一个问题是日志文件中缺少的年份。所以我不能“正确”地比较日期。我以前的想法是:
我不知道这两个想法中的一个。有人有主意吗?在
您可以这样使用
strptime
:这将创建1900年的
datetime
对象,因为没有给出年份。你可以自己调整一下。在示例:
^{pr2}$关于您的另一个问题:“上次编辑”日期不一定与您日志中的所有条目在同一年。在
我没有找到有关如何更改日志记录日期格式的任何信息,因此我可能有一个新的解决方案:
我写了一个小的服务/程序扫描原始的日志.auth实时文件(如Code Sample: Part 5。在
当出现新行时:在新的日志文件(就像自己的auth__年份.log). 我不喜欢这个选择:再给我一个护理服务。解决办法真的很不方便。在
如果你能改变时间格式的话。。。在
更新: 这是可能的。打开rsyslog.conf文件文件(/etc/rsyslog.conf文件)添加你自己的模板
现在更改行(auth,authpriv。/var/log/验证日志*)到
^{pr2}$保存配置之后,重新启动系统(或重新加载服务)并检查新的时间格式(tail-f/var/log)/验证日志)
相关问题 更多 >
编程相关推荐