我正在尝试为我的网站做一些事情,具体来说,我正在尝试为正常运行时间编写脚本。
我有阅读器,一个从表格中读取百分比的脚本。
这不是使用关系数据库的一种非常有效的方式。相反,我会建议(至少在 SQL 方面)以下内容:
CREATE TABLE `servers` (
`srv_id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
-- Additional Fields Omitted here.
PRIMARY KEY (`srv_id`)
)
ENGINE = InnoDB;
CREATE TABLE `stats` (
`stat_id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
`srv_id` INTEGER UNSIGNED NOT NULL,
`date` TIMESTAMP NOT NULL,
`uptime` INTEGER UNSIGNED NOT NULL,
PRIMARY KEY (`stat_id`)
)
ENGINE = InnoDB;
通过这种方式,您可以针对任意数量的服务器记录任意数量的度量,然后使用 SQL 删除旧内容或保留旧内容,并使用WHERE
参数过滤显示这些统计信息的界面中使用的数据。
$day = int(strftime("%j") % 5);
$key = 'day' . $day;
if($row[$key] == 0)
{
if($checkls && $checkgs) //if server is online update the percent
mysql_query("UPDATE s_stats SET ${key}=".($stats_row[$key] + 0.5)." WHERE srv_id=".$r[id]." ") or die(mysql_error()); //every 7.2 minutes add 0.5 percent
else echo "error day $day";
}