采用awstats统计多服务器访问记录

将多个服务器的web、ftp访问集中经过awstats处理后统一存放到某一个服务器上,主要是通过cron、rsync、ssh来实现的。

中心服务器需要有一个帐号可以通过密钥访问到其他服务器上经过awstats处理后的数据,然后再进行定时更新。

1. 采用密钥远程登陆
在中心服务器上执行:

ssh-keygen -t rsa

注意,不要密码。
将生成的密钥拷贝到其他服务器上:

cat ~/.ssh/id_rsa.pub | ssh user@other_server "cat - >> ~/.ssh/authorized_keys"

2. 设置awstats
在所有需要访问记录的服务器上,设置awstats的cron。可以参考: ubuntu下使用awstats分析访客信息

最好是将awstats分析结果放到~/awstats目录下,以减少权限问题。

pure-ftpd在设置里:

AltLog clf:/var/log/pureftpd.log

以方便awstats进行分析。

另外,还有个网站的日志是采用逐日一个log文件的形式,因此在awstats的conf里可以设置为:

LogFile=”/var/www/westdc.geodata.cn/logs/westdc.geodata.cn_%YYYY-0%MM-0%DD-20-access.log”

这样只要在第二天的20点之前进行cron都可以处理前一天的log。

3. 通过rsync同步
将多个服务器上处理后的awstats结果使用rsync同步到中心服务器上。

 rsync --force --ignore-errors -a other-server:/home/user/awstats /var/www/web-dir

然后将其加入中心服务器的crontab里就可以了。


已发布

分类

来自

标签:

评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注