我想拥有/var/log/apache2/access.log的实时副本,以便我可以grep,做主机名解析等。
最好的方法是什么?
我很想知道什么样的流量通过
答案 0 :(得分:1)
你可以:
使用tail -f,但你必须确保以下命令是无缓冲的,以便立即读取事件
tail -f /var/log/apache2/access.log | grep --line-buffered "something"
或
tail -f /var/log/apache2/access.log | sed -une "/something/p"
使用perl或python创建tail -f | grep
(perl是日志文件中grepping的一个不错的选择)。
(此样本是从man perlfaq5复制的:
for (;;) {
for ($curpos = tell(GWFILE); <GWFILE>; $curpos = tell(GWFILE)) {
# search for some stuff and put it into files
}
# sleep for a while
seek(GWFILE, $curpos, 0); # seek to where we had been
}
答案 1 :(得分:0)
这样做:
#Customize as appropriate:
tail -f /var/log/apache2/access.log | cut -f 0 -d ' ' &
tail -f /var/log/apache2/access.log | grep foo &