今天小練習了一下將前一天apache的訪問量存放在資料表里便于管理和查詢,分享一下,不足之處請大神們多多指教,代碼如下:(本人是小白,請大神們不要笑我哦)
#!/bin/bash
#logcount.sh
mysql="mysql -uroot -pxz123456"
yesterday=`date -d yesterday +%Y%m%d`
#echo "$yesterday"
yllog="/var/log/httpd/access_log"
zylog="/var/log/httpdbak/access_${yesterday}.log"
mv $yllog $zylog
pkill -1 httpd
tmpfile=$$.txt
cat $zylog |awk '{print $1}'|sort |uniq -c |awk '{print $2":"$1}'>$tmpfile
for i in `cat $tmpfile`
do
ip=`echo $i |awk -F: '{print $1}'`
counts=`echo $i |awk -F: '{print $2}'`
sql="insert into test.crontab(date,ip,counts) values('$yesterday','$ip','$counts')"
$mysql -e "$sql"
done
rm -rf $tmpfile
sql="select * from test.crontab"
$mysql -e "$sql"
之后寫一個執行計劃,定于每天凌晨0點執行
crontab -e
00 00 *** /home/zyj/logcount.sh
本文地址:學習筆記(shell統計前一天apache 訪問量存放資料表)_ITPUX技術網
本文地址:http://www.itpux.com/thread-6183-1-1.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/87992.html
標籤:MySQL
上一篇:求助:單表sql 優化問題
