当前位置:首页>网络学院>服务器>Mail服务器教程>文章内容

多服务器的日志合并统计——apache日志的cronolog轮循和webalizer合并统计 评注

[ 来源: | 作者: | 时间:2007-07-21 | 收藏 | 推荐 ] 【

Log输出到cronolog归档日志,并且还能指定格式。
            CustomLog "|/usr/local/sbin/cronolog /path/to/apache/logs/%w/access_log" combined

            最后是一个日志同步的问题。

            任务:每天凌晨找到前1天的日志,另存一个文件准备发送到服务器上。
            比如我要保留前1周的日志:每天复制前1天的日志到指定目录,等待日志服务器来抓取:
            /bin/cp /path/to/logs/`date -v-1d +%w`/access_log /path/to/sync/logs/access_yesterday

            在FREEBSD上使用以下命令
            date -v-1d +%w
            注释: sflj www.it55.com kg^&fgd
            -v-1d: 前1天,而在LINUX上这个选项应该是date -d yesterday
            +%w: weekday,由于使用的都是标准时间函数库,所有工具中的WEEKDAY定义都是一样的 0-6 => 周日-周六


            注意:写到CRONTAB里的时候"%"前面需要加一个"\"转义:每天0点5分进行一次日志归档
            5 0 * * * /bin/cp /path/to/logs/`date -v-1d +\%w`/access_log /path/to/for_sync/logs/access_yesterday

            首次开始cronolog日志统计是周3,一周以后日志又将轮循回3/access_log
            但这次日志是追加到3/access_log还是重新创建一个文件呢?>>access_log or >access_log?
            我测试的结果是日志将被追加: it55.com
            [01/Apr/2002:23:59:59 +0800]
            [01/Apr/2002:23:59:59 +0800]
            [08/Apr/2002:00:00:00 +0800]
            [08/Apr/2002:00:00:00 +0800]

            肯定是不希望每次日志还带着上周的数据的并重复统计一次的(虽然对结果没影响),而且这样%w/下的日志不是也越来越多了吗?
            解决方法1 把每天的cp改成mv
            解决方法2 每天复制完成后:删除6天以前的access_log日志
            find /path/to/apache/logs -name access_log -mtime +6 -exec rm -f {}\;
            多保留几天的日志还是有必要的:万一日志分析服务器坏了一天呢? www.it55.com在线教程

       

http://www.it55.com/

(编辑:IT资讯之家 www.it55.com

网友评论

[以下评论为网友观点,不代表本站。请自觉遵守互联网相关政策法规,所有连带责任均有评论者自负。]
[不超过250字]