shell自动收集服务器硬件系统信息,插入数据库并通过web页面显示。

一,shell自动收集服务器硬件系统信息,插入数据库。#centos 7操作系统下

#!/bin/bash
#auto get system info
echo -e "\033[34m\033[1m"
cat <<EOF
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++Welcome to use system Coolect++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
EOF
ip_info=`ifconfig enp0s3|grep "broadcast"|awk '{print $2}'|cut -d: -f `
cpu_info1=`cat /proc/cpuinfo |grep "model name" |awk -F: '{print $2}'|sed 's/^//g'|awk '{print $1,$3,$4,$NF}'`
cpu_info2=`cat /proc/cpuinfo |grep "physical id"|sort|uniq -c|wc -l`
serv_info=`hostname |tail -`
disk_info=`fdisk -l|grep "Disk"| grep -v "identifier"|awk '{print $2,$3,$4}'| sed 's/,//g'`
mem_info=`free -m |grep "Mem"|awk '{print "Total",$1,$2"M"}'`
load_info=`uptime|awk '{print "CurrentLoad: "$(NF-2)}'|sed 's/\,//g'`
mark_info="BeiJing_IDC"

echo -e "\033[32m-------------------------------------\033[1m"
echo IPADDR:${ip_info}
echo HOSTNAME:$serv_info
echo CPU_INFO:${cpu_info1}X${cpu_info2}
echo Disk_INFO:$disk_info
echo MEM_INFO:$mem_info
echo LOAD_INFO:$load_info
echo -e -n "\033[36m You want to write the data to the databases?\033[1m"

read ensure
if [ $ensure = "yes" -o $ensure = "y" -o $ensure= "Y" ];then
echo -e "\033[31m"
   mysql -uroot -proot -D table2 -e "insert into system_info2 values(‘‘,‘${ip_info}‘,‘$serv_info‘,‘${cpu_info1}X${cpu_info2}‘,‘$disk_info‘,‘$mem_info‘,‘$load_info‘,‘$mark_info‘);"
else
echo "exit"
  exit
fi

二,向数据库插入数据
#mysql -uroot -proot -e ‘use 数据库名;select * from syslog;‘|sed ‘s/-//g‘|grep -v "id"
#数据库创建
CREATE TABLE `systeminfo` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `ip_info` varchar(50) NOT NULL,     //主机IP
  `serv_info` varchar(50) NOT NULL,    //主机名
  `cpu_info` varchar(50) NOT NULL,    //cup型号
  `disk_info` varchar(50) NOT NULL,    //磁盘
  `mem_info` varchar(50) NOT NULL,    //内存
  `load_info` varchar(50) NOT NULL,    //负载
  `mark_info` varchar(50) NOT NULL,    //备注
  PRIMARY KEY (`id`),
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

三,网页显示

<html>
<head>
<title>服务器管理统计</title>
</head>
<body>
<?
php$con = mysql_connect("192.168.250.190","root","root");
if (!$con)
{
die('数据库连接失败: '. mysql_error());
}
else
{
mysql_query("SET NAMES UTF8");
mysql_query("set character_set_client=utf8");
mysql_query("set character_set_results=utf8");
mysql_select_db("数据库名", $con);
$result = mysql_query("SELECT * FROM table1");
//在表格中输出显示结果
echo "<table border='1' >
<tr>
<th>主机IP</th>
<th>主机名</th>
<th>cup型号</th>
<th>磁盘</th>
<th>内存</th>
<th>负载</th>
<th>机房</th>
</tr>";
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['ip_info'] . "</td>";
echo "<td>" . $row['serv_info'] . "</td>";
echo "<td>" . $row['cpu_info'] . "</td>";
echo "<td>" . $row['disk_info'] . "</td>";
echo "<td>" . $row['mem_info'] . "</td>";
echo "<td>" . $row['load_info'] . "</td>";
echo "<td>" . $row['mark_info'] . "</td>";
echo "</tr>";
}
echo "</table>";
}
mysql_close($con);
?>
</body>

shell自动收集服务器硬件系统信息的更多相关文章

  1. linux系统信息获取和上报

    通过调用shell命令获取系统信息,如cpu个数,cpu/内存磁盘使用情况,网络信息等. #include <stdio.h> #include <stdlib.h> #inc ...

  2. Linux常用性能检测命令解释

    1.uptime [root@smgsim02 ~]# uptime 15:08:15 up 98 days, 4:19, 2 users, load average: 0.07, 0.29, 0.1 ...

  3. 20155201 网络攻防技术 实验五 MSF基础应用

    20155201 网络攻防技术 实验五 MSF基础应用 一.实践内容 一个主动攻击实践,如ms08_067 一个针对浏览器的攻击,如ms11_050 一个针对客户端的攻击,如Adobe 成功应用任何一 ...

  4. 对浏览器攻击:MS10-002

    对浏览器攻击:MS10-002 MS10-002漏洞介绍 针对微软Internet Explorer"极光"内存损坏的攻击,当用户查看特制网页时允许远程执行代码. 实践过程 命令行 ...

  5. automation轻松“一点”,搞定裸机安装系统

    企业在新建数据中心.新业务上线.老业务扩容等场景下,会采购一批新的裸机服务器,在新服务器投入使用之前,势必得进行操作系统的安装.相信每个人都有安装操作系统的经历,BIOS设置.磁盘分区.驱动安装... ...

  6. Linux 常用检测命令

    1.uptime [root@smgsim02 ~]# uptime  15:08:15 up 98 days,  4:19,  2 users,  load average: 0.07, 0.29, ...

  7. MySQL常用命令与语句

    目录 Shell命令 查看系统信息 查看系统变量 设置系统变量 数据库操作 查看表信息 修改表语句 操作表 操作索引 操作约束 操作列 查询常用语句 Shell命令 mysql -uroot -p12 ...

  8. JVM | 第1部分:自动内存管理与性能调优《深入理解 Java 虚拟机》

    目录 前言 1. 自动内存管理 1.1 JVM运行时数据区 1.2 Java 内存结构 1.3 HotSpot 虚拟机创建对象 1.4 HotSpot 虚拟机的对象内存布局 1.5 访问对象 2. 垃 ...

  9. DELL服务器硬件信息采集SHELL脚本

    DELL服务器硬件信息采集SHELL脚本最近需要做资产列表,要采集DELL服务器的硬件信息,包括如下信息:1.操作系统信息(类型,版本,内核,平台,主机名)2.主板信息(厂商,机型,序列号)3.CPU ...

随机推荐

  1. 有关java之反射的使用

    1 public class Demo02 { 2 @SuppressWarnings("all") 3 public static void main(String[] args ...

  2. ubuntu sudo-update出错Encountered a section with no Package: header

    Reading package lists... Error! E: Encountered a section with no Package: header E: Problem with Mer ...

  3. IImage--factory

    <?php /* 实例4 */ /* 使用工厂类解析图像工作 */ interface IImage { function getWidth(); function getHeight(); f ...

  4. 在Tomcat的安装目录下conf目录下的server.xml文件中增加一个xml代码片段,该代码片段中每个属性的含义与用途

    contex指上下文,实际上就是一个web项目:path是虚拟目录,访问的时候用127.0.0.1:8080/welcom/*.jsp访问网页,welcome前面要加/;docBase是网页实际存放位 ...

  5. this.Hide()与this.Visible、Application.Exit与this.Close()区别

    首先明确this.Hide()和this.Visible作用完全一样,都是隐藏当前窗体,使其不可见:Application.Exit与this.Close()虽然都有关闭当前应用的作用,但作用不同. ...

  6. [原创]关于设置linux中vim 显示行号

    1.更改所有账户配置 直接更改/etc/vimrc vim /etc/vimrc 在vimrc文件的最后添加 set nu 即可 wq退出. 这样,不论使用哪个账号登陆,vim打开后都显示行号 2.为 ...

  7. Ubuntu 16.04 NFS搭建

    NFS服务器配置: 1.安装NFS相关包 apt-get install nfs-kernel-server nfs-common # centos 7# yum install nfs-utils ...

  8. hiho一下 第四十九周 题目1 : 欧拉路·一【无向图 欧拉路问题】

    题目1 : 欧拉路·一 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho最近在玩一个解密类的游戏,他们需要控制角色在一片原始丛林里面探险,收集道具,并找到最 ...

  9. jquery的ajax(err)

    load()方法 load()方法是jquery中最为简单和常用的ajax方法. 直接使用ajax技术的流程 1.创建xmlhttprequest对象 2.调用open函数("提交方式&qu ...

  10. python3字符串属性(二)

    1.S.isdecimal() -> bool    Return True if there are only decimal characters in S, False otherwise ...