linux – 为AWStats手动创建dnscache.txt

根据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).

相关文章

在Linux上编写运行C语言程序,经常会遇到程序崩溃、卡死等异...
git使用小结很多人可能和我一样,起初对git是一无所知的。我...
1. 操作系统环境、安装包准备 宿主机:Max OSX 10.10.5 虚拟...
因为业务系统需求,需要对web服务作nginx代理,在不断的尝试...
Linux模块机制浅析 Linux允许用户通过插入模块,实现干预内核...
一、Hadoop HA的Web页面访问 Hadoop开启HA后,会同时存在两个...