shell自动收集服务器硬件系统信息
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自动收集服务器硬件系统信息的更多相关文章
- linux系统信息获取和上报
通过调用shell命令获取系统信息,如cpu个数,cpu/内存磁盘使用情况,网络信息等. #include <stdio.h> #include <stdlib.h> #inc ...
- Linux常用性能检测命令解释
1.uptime [root@smgsim02 ~]# uptime 15:08:15 up 98 days, 4:19, 2 users, load average: 0.07, 0.29, 0.1 ...
- 20155201 网络攻防技术 实验五 MSF基础应用
20155201 网络攻防技术 实验五 MSF基础应用 一.实践内容 一个主动攻击实践,如ms08_067 一个针对浏览器的攻击,如ms11_050 一个针对客户端的攻击,如Adobe 成功应用任何一 ...
- 对浏览器攻击:MS10-002
对浏览器攻击:MS10-002 MS10-002漏洞介绍 针对微软Internet Explorer"极光"内存损坏的攻击,当用户查看特制网页时允许远程执行代码. 实践过程 命令行 ...
- automation轻松“一点”,搞定裸机安装系统
企业在新建数据中心.新业务上线.老业务扩容等场景下,会采购一批新的裸机服务器,在新服务器投入使用之前,势必得进行操作系统的安装.相信每个人都有安装操作系统的经历,BIOS设置.磁盘分区.驱动安装... ...
- Linux 常用检测命令
1.uptime [root@smgsim02 ~]# uptime 15:08:15 up 98 days, 4:19, 2 users, load average: 0.07, 0.29, ...
- MySQL常用命令与语句
目录 Shell命令 查看系统信息 查看系统变量 设置系统变量 数据库操作 查看表信息 修改表语句 操作表 操作索引 操作约束 操作列 查询常用语句 Shell命令 mysql -uroot -p12 ...
- JVM | 第1部分:自动内存管理与性能调优《深入理解 Java 虚拟机》
目录 前言 1. 自动内存管理 1.1 JVM运行时数据区 1.2 Java 内存结构 1.3 HotSpot 虚拟机创建对象 1.4 HotSpot 虚拟机的对象内存布局 1.5 访问对象 2. 垃 ...
- DELL服务器硬件信息采集SHELL脚本
DELL服务器硬件信息采集SHELL脚本最近需要做资产列表,要采集DELL服务器的硬件信息,包括如下信息:1.操作系统信息(类型,版本,内核,平台,主机名)2.主板信息(厂商,机型,序列号)3.CPU ...
随机推荐
- 有关java之反射的使用
1 public class Demo02 { 2 @SuppressWarnings("all") 3 public static void main(String[] args ...
- 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 ...
- IImage--factory
<?php /* 实例4 */ /* 使用工厂类解析图像工作 */ interface IImage { function getWidth(); function getHeight(); f ...
- 在Tomcat的安装目录下conf目录下的server.xml文件中增加一个xml代码片段,该代码片段中每个属性的含义与用途
contex指上下文,实际上就是一个web项目:path是虚拟目录,访问的时候用127.0.0.1:8080/welcom/*.jsp访问网页,welcome前面要加/;docBase是网页实际存放位 ...
- this.Hide()与this.Visible、Application.Exit与this.Close()区别
首先明确this.Hide()和this.Visible作用完全一样,都是隐藏当前窗体,使其不可见:Application.Exit与this.Close()虽然都有关闭当前应用的作用,但作用不同. ...
- [原创]关于设置linux中vim 显示行号
1.更改所有账户配置 直接更改/etc/vimrc vim /etc/vimrc 在vimrc文件的最后添加 set nu 即可 wq退出. 这样,不论使用哪个账号登陆,vim打开后都显示行号 2.为 ...
- Ubuntu 16.04 NFS搭建
NFS服务器配置: 1.安装NFS相关包 apt-get install nfs-kernel-server nfs-common # centos 7# yum install nfs-utils ...
- hiho一下 第四十九周 题目1 : 欧拉路·一【无向图 欧拉路问题】
题目1 : 欧拉路·一 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho最近在玩一个解密类的游戏,他们需要控制角色在一片原始丛林里面探险,收集道具,并找到最 ...
- jquery的ajax(err)
load()方法 load()方法是jquery中最为简单和常用的ajax方法. 直接使用ajax技术的流程 1.创建xmlhttprequest对象 2.调用open函数("提交方式&qu ...
- python3字符串属性(二)
1.S.isdecimal() -> bool Return True if there are only decimal characters in S, False otherwise ...