我的应用比较特殊,在/home/logs/client/ 下有上百个日志。在/backup/client/userdirs/ 有上万个网站。
- #! /bin/bash
- cd /backup/client/userdirs/
- for f in `ls`; do
- for f1 in `ls $f`; do
- for f2 in `ls $f/$f1`; do
- echo $f/$f1/$f2 >>/tmp/forum.txt
- done
- done
- done
- function st(){
- for f in `cat /tmp/forum.txt`; do
- d1=`echo $f |awk -F'/' '{print $3}'`
- if grep -q $d1 /backup/client/caches/domains.php; then
- d2=`grep $d1 /backup/client/caches/domains.php|awk '{print $1}'|awk -F"'" '{print $2}'`
- sum=0
- n=`grep -h "$d1.5d6d.com" $1|egrep -v 'Baiduspider|Googlebot'|wc -l`
- n1=`grep -h "$d2" $1|egrep -v 'Baiduspider|Googlebot'|wc -l`
- sum=$(($sum+$n+$n1))
- else
- sum=0
- n=`grep -h "$d1.5d6d.com" $1|egrep -v 'Baiduspider|Googlebot'|wc -l`
- sum=$(($sum+$n))
- fi
- echo $f $sum
- done
- }
- cd /home/logs/client/
- mkdir -p /tmp/stbbs
- for f in `ls *log`; do
- st $f >/tmp/stbbs/$f
- done
- cd /tmp/stbbs
- for i in `cat /tmp/forum.txt`; do
- sum=0
- for j in `ls`; do
- n=`grep $i $j|awk '{print $2}'`
- sum=$(($sum+$n))
- done
- echo $i $sum
- done
编辑回复