Php cronjob插入空白sql行

Php cronjob插入空白sql行,php,mysql,cron,Php,Mysql,Cron,我设置了一个cron作业来监视带宽使用情况(Status2K脚本),但是当cron作业运行时,它会清空行数据,而不是更新它。如果我通过浏览器手动运行脚本,它将正常工作 下面是我正在使用的代码 // Calculating Bandwidth LINUX if ($os['linux']) { $net = cmdrun("ifconfig -a eth0 | grep 'RX bytes' | awk '{ print $2, $6 }'"); $net = str_replace("b

我设置了一个cron作业来监视带宽使用情况(Status2K脚本),但是当cron作业运行时,它会清空行数据,而不是更新它。如果我通过浏览器手动运行脚本,它将正常工作

下面是我正在使用的代码

// Calculating Bandwidth LINUX
if ($os['linux']) {
  $net = cmdrun("ifconfig -a eth0 | grep 'RX bytes' | awk '{ print $2, $6 }'");
  $net = str_replace("bytes:", '', $net);
  $pts = explode(' ',$net);
  $recvd = $pts[0]; // RX
  $trans = $pts[1]; // TX
}

// Work Out Bandwidth Stats
$query = $mysql->query("SELECT * FROM ".$prefix."bandwidth");
$results = mysql_fetch_array($query);
$dbr = $results['rec'];
$dbt = $results['trans'];
if (!$dbr && !$dbt) {
  $mysql->query("INSERT INTO ".$prefix."bandwidth VALUES ('".$pts[0]."', '".$pts[1]"')");
} else {
  if ($recvd < $dbr && $trans < $dbt) {
    $rech = $recvd;
    $transh = $trans;
    $mysql->query("UPDATE ".$prefix."bandwidth SET rec = '".$pts[0]."', trans = '".$pts[1]"'");
  } else {
    $rech = ($recvd - $dbr);
    $transh = ($trans - $dbt);
    $mysql->query("UPDATE ".$prefix."bandwidth SET rec = '".$recvd."', trans = '".$trans."'");
  }
}

// If Bandwidth Empty
if ($transh < 0) { $transh = $trans; }
if ($rech < 0) { $rech = $recvd; }

// ================================================
// Add Data To Database
// ================================================

$mysql->query("INSERT INTO ".$prefix."history VALUES ('$min', '$hour', '$day', '$month', '$year', '$currentload', '$usedmem', '$usedswap', '$transh', '$rech')");
//计算LINUX的带宽
如果($os['linux'])){
$net=cmdrun(“ifconfig-a eth0 | grep'RX bytes'| awk'{print$2,$6}'”;
$net=str_replace(“字节:”,“”,$net);
$pts=爆炸('',$net);
$recvd=$pts[0];//RX
$trans=$pts[1];//TX
}
//计算带宽统计数据
$query=$mysql->query(“从“$prefix.”带宽中选择*);
$results=mysql\u fetch\u数组($query);
$dbr=$results['rec'];
$dbt=$results['trans'];
如果(!$dbr&!$dbt){
$mysql->query(“插入到“$prefix.”带宽值(““$pts[0]”、“$pts[1]”)中);
}否则{
如果($recvd<$dbr&$trans<$dbt){
$rech=$recvd;
$transh=$trans;
$mysql->query(“更新“$prefix.”带宽集rec='“$pts[0]”,trans='“$pts[1]”);
}否则{
$rech=($recvd-$dbr);
$transh=($trans-$dbt);
$mysql->query(“更新“$prefix.”带宽集rec=””、“$recvd.”、trans=”、“$trans.”);
}
}
//如果带宽为空
如果($transh<0){$transh=$trans;}
如果($rech<0){$rech=$recvd;}
// ================================================
//向数据库添加数据
// ================================================
$mysql->query(“插入到“$prefix.”历史值(“$min”、“$hour”、“$day”、“$month”、“$year”、“$currentload”、“$usedmem”、“$usedswap”、“$transh”、“$rech”);

从cron运行$os[linux]时是否设置了它?如果不是,$pts将为空。@barrycarter如果(PHP_OS='Linux'){$OS['Linux']=1;}我通过更改
$net=cmdrun(“ifconfig-a eth0 | grep'RX bytes'| awk'{print$2,$6}”解决了这个问题
$net=cmdrun(“netstat-n-I=eth0-e | grep'RX bytes'| awk'{print$2,$6}'”