July 16th, 2007
一切都只是為了自己的爽度!!XD
Webalizer是用來分析網站流量的軟體.
是由apache所產生的log檔來作分析.
而Webalizer是以月份存檔.所以log檔要有當月的紀錄.
使用apache內建產生log的方法不適用我的機器.
所以找了Cronolog作為產生log的方法!!
====== Cronolog 方面 ======
在Ubuntu上,修改/etc/apache2/sites-available/default, 加入:
CustomLog "|/usr/sbin/cronolog /var/log/apache2/%Y/%m/accwebalizer_%Y-%m-%d.log" combined
當apache啟動的時候就可以建立log啦!!
====== Webalizer 方面 ======
因為只能分析一個Log檔, 所以要將分析的檔(在此用accwebalizer.log)
跟一天所建立的log檔合併, 這時候就要寫成shell script來達成我的目的.
=== shell script (取名:lcwebalizer)===
首先因為日期是變動的, 而date指令必須取得昨天的日期.
getymd=`date --date="1 day ago" +%F` //取得昨天的日期, 格式: YYYY-MM-DD
gety=`date +%Y` //取得年份
getm=`date +%m` //取得月份
getd=`date +%d` //取得日
if [ "getd" == "01" ]; then //是否為每月的第1天!!
//作法先將上個月最後一天分析完. accwebalizer.log與accwebalizer_$getymd.log合併
//執行webalizer
//複製accwebalizer_$gety-$getm-$getd.log成為accwebalizer.log即可清空上個月的資料啦!!
else
//accwebalizer.log與accwebalizer_$getymd.log合併
//執行webalizer
fi
=== 解決 shell script ===
接下來就是webalizer在每天都自動執行啦!!
輸入. crontab -e
2 0 * * * lcwebalizer
每到0點兩分執行 lcwebalizer.
就可以達到Webalizer分析一個月的流量啦!!!
沒有留言:
張貼留言