【问题标题】:Server uptime script服务器正常运行时间脚本
【发布时间】:2011-03-25 13:07:31
【问题描述】:

我正在尝试为我的网站做一些事情,具体来说,我正在尝试为正常运行时间编写脚本。

我有阅读器,一个从表格中读取百分比的脚本。

【问题讨论】:

    标签: php mysql uptime


    【解决方案1】:

    这不是使用关系数据库的一种非常有效的方式。相反,我会建议(至少在 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 参数过滤显示这些统计信息的界面。

    【讨论】:

      【解决方案2】:
              $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";
              }
      

      【讨论】:

      • 是的,但问题是这里..每个服务器都应该从第一天开始.. int(strftime("%j") % 5) 可能是 2, 3, 4 到第一次..
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-06
      相关资源
      最近更新 更多