DELL服务器硬件信息采集SHELL脚本
DELL服务器硬件信息采集SHELL脚本
最近需要做资产列表,要采集DELL服务器的硬件信息,包括如下信息:
1、操作系统信息(类型,版本,内核,平台,主机名)
2、主板信息(厂商,机型,序列号)
3、CPU信息(型号,个数,物理核数)
4、内存(条数,单条容量)
5、磁盘(个数,单个容量,磁盘类型,Raid级别)
执行前请先安装MegaRAID,为了提高工作效率,我们使用SHELL脚本来实现,如下:
#!/bin/sh #get os information function get_os_info() {
release=`cat /etc/redhat-release | awk '{print $1"_"$3}'`
kname=`uname -s`
nodename=`uname -n`
kernal=`uname -r`
bit=`uname -i`
printf "OS_RELEASE: $release"_"$bit\n"
printf "OS_DETAIL: $kname $nodename $kernal $bit\n"
} get_os_info #get vendor, model, sn... function motherboard() {
vendor=`dmidecode -t 1|grep "Manufacturer"|awk '{print $2}'`
model=`dmidecode -t 1|grep "Product"|awk '{print $4}'`
sn=`dmidecode -t 1|grep "Serial" |awk '{print $3}'`
printf "MODEL: $vendor $model\n"
printf "SN: $sn\n"
} motherboard function memory() {
count=`dmidecode -q -t 17 2 |grep "Size" |grep -v "No Module Installed"|awk '{print $2}'|uniq -c|awk '{print $1}'`
capacity=`dmidecode -q -t 17 2 |grep "Size" |grep -v "No Module Installed"|awk '{print $2}'|uniq -c|awk '{print $2}'`
capacity=`expr $capacity / 1024`
printf "MEM: $count"*"$capacity"G"\n"
} memory function cpuinfo() {
cpu_model=`cat /proc/cpuinfo|grep "model name"|head -1|awk -F: '{print $2}'`
cpu_count=`cat /proc/cpuinfo|grep "core id"|grep "0"|uniq -c|awk '{print $1}'`
cpu_total_cores=`cat /proc/cpuinfo|grep "processor"|wc -l`
single_cores=`expr $cpu_total_cores / $cpu_count`
printf "CPU:$cpu_model($cpu_count"*"$single_cores"Cores")\n"
} cpuinfo function diskinfo() {
raidlevel=`/opt/MegaRAID/MegaCli/MegaCli64 -LDInfo -Lall -aALL |grep "RAID"|awk '{print $3}'|cut -b 9-9`
disknumber=`/opt/MegaRAID/MegaCli/MegaCli64 -LDInfo -Lall -aALL | grep "Drives"|awk -F ":" '{print $2}'`
disktype=`/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL | grep "PD Type"|head -1|awk -F: '{print $2}'`
diskcapacity=`/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL | grep "Raw Size" | head -1 | awk '{print $3}'`
printf "DISK: $disknumber"*"$diskcapacity"GB"$disktype (Raid Level: $raidlevel)\n"
} diskinfo
DELL服务器硬件信息采集SHELL脚本的更多相关文章
- zabbix企业应用:通过SNMP和iDRAC监控DELL服务器硬件
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://qicheng0211.blog.51cto.com/3958621/174998 ...
- shell脚本生成xml文件
今天把这段时间学习完shell后完成工作上的一个小案件整理了一下,分享给大家! 说来也巧了,作为一个刚刚毕业半年的菜鸟,进入公司后,听公司的大牛推荐学习linux--”鸟哥的私房菜“,基本上是从去年8 ...
- 浅谈自底向上的Shell脚本编程及效率优化
作者:沐星晨 出处:http://blog.csdn.net/sosodream/article/details/6276758 浅谈自底向上的Shell脚本编程及效率优化 小论文,大家多批评指导:) ...
- Shell 脚本学习(1)
一 Shell概览 1. 自动化批量系统初始化程序(update, 软件安装,时区设置,安全策略,...) 2. 自动化批量软件部署程序(LAMP,LNMP,Tomcat,LVS,Nginx) 3. ...
- shell脚本采集系统cpu、内存、磁盘、网络信息
有不少朋友不知道如何用shell脚本采集linux系统相关信息,包括cpu.内存.磁盘.网络等信息,这里脚本小编做下讲解,大家一起来看看吧. 一.cpu信息采集 1),采集cpu使用率采集算法:通过/ ...
- 60天shell脚本计划-2/12-渐入佳境
--作者:飞翔的小胖猪 --创建时间:2021年2月1日 --修改时间:2021年2月5日 说明 每日上传更新一个shell脚本,周期为60天.如有需求的读者可根据自己实际情况选用合适的脚本,也可在评 ...
- 第一个shell脚本
打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好. #!/bin/bash echo "Hello World !" &quo ...
- 使用C#给Linux写Shell脚本
在这个逼格决定人格,鄙视链盛行的年头,尤其是咱们IT界,请问您今天鄙视与被鄙视的次数分别是多少?如果手中没有一点压箱的本事,那就只有看的份了.今天我们也要提升下自己的格调,学习些脑洞大开的东西,学完之 ...
- shell脚本规划化模板
shell脚本规划化模板 Linux运维过程中,shell脚本是不可缺少的工具,但是每个运维人员编程的习惯都不一样,很多时候就是实现某个功能,写出来的脚本都是烂七八糟的.脚本必须规范化,应该从以后几个 ...
随机推荐
- 利用java的反射,实现工厂创建对象
public static Object getInstance(Class c){ Object obj = null; try { obj = c.newInstance(); } catch ( ...
- JAVA中的 static使用
主要内容: 1.静态变量 2.静态方法 3.静态代码块 静态变量 我们知道,可以基于一个类创建多个该类的对象,每个对象都拥有自己的成员,互相独立.然而在某些时候,我们更希望该类所有的对象共享同一个成员 ...
- Flask源码流程剖析
在此之前需要先知道类和方法,个人总结如下: 1.对象是类创建,创建对象时候类的__init__方法自动执行,对象()执行类的 __call__ 方法 2.类是type创建,创建类时候type的__i ...
- deeplearning.ai 人工智能行业大师访谈 Ruslan Salakhutdinov 听课笔记
Ruslan Salakhutdinov一方面是苹果的研究主管,另一方面是CMU的教授. 1. Ruslan说自己进入深度学习完全是运气,他在多伦多大学读硕士,然后休学了一年,他在金融领域工作,那时候 ...
- BZOJ 1001: [BeiJing2006]狼抓兔子【最大流/SPFA+最小割,多解】
1001: [BeiJing2006]狼抓兔子 Time Limit: 15 Sec Memory Limit: 162 MBSubmit: 23822 Solved: 6012[Submit][ ...
- 大区间素数筛选(POJ 2689)
/* *POJ 2689 Prime Distance *给出一个区间[L,U],找出区间内容.相邻的距离最近的两个素数和距离最远的两个素数 *1<=L<U<=2147483647 ...
- Palindromes
http://acm.hdu.edu.cn/showproblem.php?pid=1318 Palindromes Time Limit: 2000/1000 MS (Java/Others) ...
- cin与cout详解
输入和输出并不是C++语言中的正式组成成分。C和C++本身都没有为输入和输出提供专门的语句结构。输入输出不是由C++本身定义的,而是在编译系统提供的I/O库中定义的。C++的输出和输入是用" ...
- Servlet面试题归纳
尊重原创:http://blog.csdn.net/caohaicheng/article/details/38116481 1.说一说Servlet生命周期 Servlet生命周期包括三部分: 初始 ...
- angular 表达式与指令
angular表达式的一些特点 属性表达式: 属性表达式是对应于当前作用域,Javascript对应的是全局window对象. AngularJS要使用window作用域的话得用$window来指向全 ...