根据AWStats的文档:
AWStats can do reverse DNS lookups through a static DNS cache file
that was prevIoUsly created manually.
通过文档搜索,以及相当多的谷歌搜索,给我留下了一个问题.如何手动创建DNS缓存文件?是否有Linux命令要执行此操作,我还没有找到?这是在Centos 5.5机器上.
解决方法
如下所述,您可以使用任何文本编辑器来创建格式为ipaddress resolved_hostname的文本文件,如下所示:
192.168.1.11 websrv1 192.168.1.12 websrv2 192.168.1.13 websrv3
不要忘记设置DNSLookup = 2.
I had expected to be able to create the file from existing
information,such as the Apache logs.
当然,你可以通过从Apache的access_log获取IP地址并使用一些工具来实现,例如:dig,host,resolveip,…来解析主机名,如下所示:
$awk '{ print $1 }' access_log | sort | uniq | \ while read ip; do \ if [ `dig +short -x $ip | sed 's/\(.*\)\./\1/' | wc -l` -eq 1 ]; then \ echo -e $ip\\t$(dig +short -x $ip | sed 's/\(.*\)\./\1/') >> dnscache.txt; \ fi; \ done
要继续更新此文件,可以将上述命令作为cron作业运行,并仅过滤特定时间范围内的日志(等于cron interval).