20170212|使用cron和PHP实现自动对数据库进行统计

【注意】最后更新于 February 13, 2017,文中内容可能已过时,请谨慎使用。

Step 1.编写PHP文件完成对目标数据的统计(目标是每日统计前一天不同来源对不同接口的访问量)

核心代码如下

//选中所有的来源

$sql = “SELECT DISTINCT(source) FROM Log WHERE date=’$yesterday’”;

$rs = $pdo->query($sql);

$allrs = $rs->fetchall(PDO::FETCH_ASSOC);

//对每一种来源进行遍历

foreach($allrs as $part) {

//选中所有接口种类

$source = $part[source];

$sql = “SELECT DISTINCT(type) FROM Log WHERE source=’$source’ AND date=’$yesterday’”;

$rs = $pdo->query($sql);

$allrs = $rs->fetchall(PDO::FETCH_ASSOC);

//对每一种接口进行遍历

foreach($allrs as $part) {

//记录本接口的访问量

$type = $part[type];

$sql = “INSERT INTO Statistics(date, source, type, num) VALUES (’$yesterday’,’$source’,’$type’,(SELECT COUNT(type) FROM Log WHERE source=’$source’ AND type=’$type’ AND date=’$yesterday’))”;

$pdo->exec($sql);

}

}

Step 2.配置cron实现每天定时执行

配置命令为

crontab -e

增加以下内容

30 1 * * * /usr/bin/wget -q -O temp.txt http://url/api.php

 

完成

也可以看看