您的位置:首页 > 运维架构 > Linux

linux 审计工具auditd日志audit.log时间戳转换查看

2013-07-25 09:55 330 查看
最近由于机房安全规范的要求,需要第三方软件进行系统安全审计,linux操作系统默认有登陆、定时任务等审计,要查看其日志的时候发现时间格式为unix时间戳格式,阅读起来很不方便,便想将其中的时间戳转换成为普通时间进行查看
网上普遍的做法为使用perl脚本在阅读时进行转换
cat time.pl
s/(1\d{9})/localtime($1)/e
然后使用管道命令进行转换
less,more,tail -f
less /var/log/audit/audit.log | perl -p time.pl
more /var/log/audit/audit.log | perl -p time.pl
tail -f /var/log/audit/audit.log | perl -p time.pl
使用这些命令来查看起来不太方便,不像vim查看的全面

于是就写了一个脚本将audit.log中的时间戳转换成普通时间写到新的文件中,以下为脚本代码
#!/bin/bash
FILE=/var/log/audit/audit.log
cat $FILE |while  read LINE
do
Udate=`echo $LINE|awk -F'[(.]+'  '{print $2}'`
#Udate=`echo $LINE|awk -F. '{print $1}' | awk -F'(' '{print $2}'`
Cdate=`date -d @$Udate`
echo $LINE|sed "s/[0-9]\{10\}/$Cdate/"  >> read.audit.log
done
不过代码的执行效率有点低,在1核1G的虚拟机跑2W条记录大约需要2MIN
本文出自 “蓦然回首” 博客,请务必保留此出处http://leemon.blog.51cto.com/1903784/1256716
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: