cronjob插入空白的sql行

时间:2014-03-23 13:01:20

标签: 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("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')");

0 个答案:

没有答案