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. 11.2.3 Redis的启动停止

    11.2.3  Redis的启动停止 Redis安装配置完成后,启动过程非常简单,执行命令/usr/local/redis/bin/redis-server /usr/local/redis/etc/ ...

  2. 3.08课·········switch case及if else嵌套(日期格式)

    switch case switch (n) { : break; : break; . . . case n: break; } 1.switch case必须与break一同使用,每一个case后 ...

  3. 动态顺序表(C++实现)

    顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构. 这样的存储方式使得线性表逻辑上相邻的元素,其在物理存储单元中也是相邻的.只要知道了第一个元素的 ...

  4. 斐波那契 (Fibonacci)数列

    尾递归会将本次方法的结果计算出来,直接传递给下个方法.效率很快. 一般的递归,在本次方法结果还没出来的时候,就调用了下次的递归, 而程序就要将部分的结果保存在内存中,直到后面的方法结束,再返回来计算. ...

  5. EntityFramework 学习 一 Add Entity Graph using DbContext:

    //Create student in disconnected mode Student newStudent = new Student() { StudentName = "New S ...

  6. 关于spring事务注解

    关于事务的注解常用如下1.如果有事务, 那么加入事务, 没有的话新建一个(默认情况下),也就是当我们要开启事务的时候才用,即有数据库有增删改操作@Transactional(rollbackFor=E ...

  7. 百度地图省市县乡镇街道对应ZOOM级别

    百度地图省市县乡镇街道对应ZOOM级别

  8. 序列化工具类({对实体Bean进行序列化操作.},{将字节数组反序列化为实体Bean.})

    package com.dsj.gdbd.utils.serialize; import java.io.ByteArrayInputStream; import java.io.ByteArrayO ...

  9. Android 之 Matrix(转)

    原文:http://www.cnblogs.com/qiengo/archive/2012/06/30/2570874.html#code Android Matrix   Matrix的数学原理 平 ...

  10. 基于Protobuf的分布式高性能RPC框架——Navi-Pbrpc

    基于Protobuf的分布式高性能RPC框架——Navi-Pbrpc 二月 8, 2016 1 简介 Navi-pbrpc框架是一个高性能的远程调用RPC框架,使用netty4技术提供非阻塞.异步.全 ...