directadmin

假设这里需要的月份的数据确实存在: /home/ username /domains/ domain.com /awstats/.data 你应该可以重新生成这些月份的静态html页面。 下面的脚本可以为您做到这一点: #!/bin/sh if [ $# -eq 0 ]; th

我需要awstats重建前几个月的静态html页面

来源:梦飞科技 作者:梦飞 浏览量:147 更新:2018-04-03
假设这里需要的月份的数据确实存在:

/home/username/domains/domain.com/awstats/.data

你应该可以重新生成这些月份的静态html页面。 下面的脚本可以为您做到这一点:

#!/bin/sh
if [ "$#" -eq 0 ]; then
         echo "Usage:";
         echo "    $0 <MM> <YY>";
         exit 1;
fi

month=$1
short_year=$2
full_year=20${short_year}

for u in `ls /usr/local/directadmin/data/users`; do
{
         for d in `cat /usr/local/directadmin/data/users/$u/domains.list`; do
         {
                   echo "";
                   echo "$u: $d: $month $full_year";
                   DATA=/home/$u/domains/$d/awstats/.data/awstats${month}${full_year}.${d}.txt
                   if [ ! -s $DATA ]; then
                             echo "Cannot find $DATA for $month $full_year. Skipping.";
                             continue;
                   fi

                   /usr/bin/perl /usr/local/awstats/tools/awstats_buildstaticpages.pl \
                       -config=$d -configdir=/home/$u/domains/$d/awstats/.data -update \
                       -diricons=icon -awstatsprog=/usr/local/awstats/cgi-bin/awstats.pl \
                       -dir=/home/$u/domains/$d/awstats -builddate=${short_year}${month} \
                       -year=$full_year -month=$month

                   echo "";
         }
         done;
}
done;
exit 0;

将其保存到脚本中,例如old_awstats.sh,并将其设置为755。
 
每个月运行一次,例如2014年4月(04月):

./old_awstats.sh 04 14

 
部分文章来源与网络,若有侵权请联系站长删除!