统计脚本并定时发送邮件

来源:互联网 发布:sql注入分析 编辑:程序博客网 时间:2024/04/30 09:34

vim tongji.sh

#!/bin/bash#by cookielogdir=/var/log/nginxlogname=myid.cookie.com.access.proxy.loglog=/srv/bin/loghour=`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 ];thendd=$td凌晨3点至早上9点整for i in 03 04 05 06 07 08do cat $logdir/$logname | grep $today:$i > $log/$idoneelif [ $hour = 17 ];thendd=$td早上9点至下午18点整for i in 09 10 11 12 13 14 15 16do cat $logdir/$logname | grep $today:$i > $log/$idoneelif [ $hour = 03 ];thendd=$yd下午17至$td凌晨3点整for i in 17 18 19 20 21 22 23 00 01 02do cat $logdir/$logname | grep $today:$i > $log/$idoneficat $log/* > $log/allduelogcat $log/allduelog | awk '{print $1}' | cut -d: -f1 | sort | uniq -c | sort -nr | awk '{if($1>2000){print($0)}}'> myid.$datetime.txtmkdir $datetimefor ip in `cat myid.$datetime.txt | awk '{print $2}'`do cat $log/allduelog | grep $ip | awk '{print $1"\t"$7}' > $datetime/$ip.txtdonetar zcvf $datetime.tar.gz $datetimeecho -e "Dear all!\n" >> $mailContentecho -e "\t myid前台 $dd 访问日志统计(访问量2000以上)。IP共`cat myid.$datetime.txt | wc -l`个。分别是:\n 访问量 \t IP \n `cat myid.$datetime.txt`\n附件为以上的IP具体访问节点报告,烦请查收。" >> $mailContentcat $mailContent | mutt -s "myid前台日志统计 $dd " cookie1@xxx.net -c cookie2@xxx.net -c cookie3@xxx.net -a $datetime.tar.gzrm -rf $datetimerm -rf $log/*rm -rf myid.$datetime.txtrm -rf $datetime.tar.gz


每天定时执行脚本

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



0 0
原创粉丝点击