统计脚本并定时发送邮件

vim tongji.sh

#!/bin/bash
#by cookie
logdir=/var/log/nginx
logname=myid.cookie.com.access.proxy.log
log=/srv/bin/log
hour=`date +%H` #小时
today=`date +%d/%h/%Y`   #日/月/年
duetime=`date +%H:%M:%S`  #时:分:秒
datetime=`date +%Y.%m.%d-%H`
td=`date +%Y-%m-%d`  #今天日期
yd=`date -d "1 day ago" +"%Y-%m-%d"`  #昨天日期
mailContent=mailContent
>"$mailContent"


#first字段为截取日志文件中第一条记录的具体时间(时:分:秒)
first=`cat $logdir/$logname | awk '{print $4}'| head -n 1 | cut -b 14-21`
#last字段为截取日志文件中最后一条记录的具体时间(时:分:秒)
last=`cat $logdir/$logname | awk '{print $4}'| tail -n 1 | cut -b 14-21`

if [ $hour = 09 ];then
dd=$td凌晨3点至早上9点整
for i in 03 04 05 06 07 08
do
 cat $logdir/$logname | grep $today:$i > $log/$i
done

elif [ $hour = 17 ];then
dd=$td早上9点至下午18点整
for i in 09 10 11 12 13 14 15 16
do
 cat $logdir/$logname | grep $today:$i > $log/$i
done

elif [ $hour = 03 ];then
dd=$yd下午17至$td凌晨3点整
for i in 17 18 19 20 21 22 23 00 01 02
do
 cat $logdir/$logname | grep $today:$i > $log/$i
done

fi

cat $log/* > $log/allduelog
cat $log/allduelog | awk '{print $1}' | cut -d: -f1 | sort | uniq -c | sort -nr | awk '{if($1>2000){print($0)}}'> myid.$datetime.txt
mkdir $datetime
for ip in `cat myid.$datetime.txt | awk '{print $2}'`
do
 cat $log/allduelog | grep $ip | awk '{print $1"\t"$7}' > $datetime/$ip.txt
done

tar zcvf $datetime.tar.gz $datetime

echo -e "Dear all!\n" >> $mailContent
echo -e "\t myid前台 $dd 访问日志统计(访问量2000以上)。IP共`cat myid.$datetime.txt | wc -l`个。分别是:\n 访问量 \t IP \n `cat myid.$datetime.txt`\n附件为以上的IP具体访问节点报告,烦请查收。" >> $mailContent
cat $mailContent | mutt -s "myid前台日志统计 $dd " cookie1@xxx.net -c cookie2@xxx.net -c cookie3@xxx.net -a $datetime.tar.gz

rm -rf $datetime
rm -rf $log/*
rm -rf myid.$datetime.txt
rm -rf $datetime.tar.gz


每天定时执行脚本

$ crontab -l
1 3,9,17 * * * /bin/bash /srv/bin/tongji.sh



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值