首先是一段shell脚本。它会每隔30秒钟访问一下论坛(比如Dizcuz!)的在线用户列表,然后从列表中读取出在线用户的行为,并做记录。
#!/bin/sh
while true; do
wget "http://www.example.com/member.php?action=online" -O - |
sed -n '/<table summary=""/,/<\/table>/ p' |
sed -n '12~1p' |
sed 's/<\/\?\(a\|div\|table\|h1\|thead\|tbody\|td\)[^>]*>\|<tr>\|^\s*\|\r//g' |
awk -F ' \n' -v RS='</tr>\n+' '{ printf "%15s | %5s | %16s | %30s | %s\n", $1, $2, $3, $4, $5 }' >>surveillant.log
sleep 30
done
上面这个程序有个问题,查看在线用户本身也是一个用户操作,这样就会使得那个列表中大量充斥着匿名用户访问用户列表的记录,让人产生怀疑。