shell实现打印系统硬件信息输入表格

原创 浪子丶刘少  2019-07-04 12:00  阅读 950 次 评论 1 条 百度未收录

脚本实现输入服务器硬件信息,并提示是否输出为表格,输出后可直接下载至本地打开查看,适用于多台服务器监控

#!/bin/bash
#by anthors liushao 2019

#设置环境为英文
export LANG="en_US.UTF-8"

#IP信息查询
ip_info=`ifconfig  | grep "broadcast" | awk '{print $2}'`

#CPU基本信息查询
cpu_info1=`cat /proc/cpuinfo | grep "model name" | awk -F: '{print $2}' | awk '{print $1,$2,$3,$4,$6}'`

#CPU颗数查询
cpu_info2=`cat /proc/cpuinfo | grep "physical id" | awk -F: '{print $2}' | wc -l`

#查看主机名
serv_info=`hostname | tail -1`

#查看磁盘大小
disk_info=`fdisk -l | grep "Disk" | grep "dev" | awk '{print $2,$3,$4}' | sed 's/,//g'`

#查看内存信息
mem_info=`free -m | grep "Mem" | awk '{print "Total",$1,$2"M" }'`
mem_info1=`free -m | grep "Mem" | awk '{print $1,$2"M" }' | awk -F: '{ print $2}'`
#负载情况
load_info=`uptime | awk '{print $(9)}' | sed 's/,//g'`

echo -e "\033[32m \n--------------`date` --------------\n\033[1m" 
echo "   IP地址: ${ip_info}"
echo "   主机名: ${serv_info}"
echo "   内存容量:${mem_info1}"
echo "   CPU信息: ${cpu_info1}"
echo "   CPU核数: ${cpu_info2}核"
echo "   磁盘大小: ${disk_info}"
echo "   当前负载: ${load_info}"
echo -e "\033[32m\n---------------------------------------------------------\n \033[0m" 

echo -e -n "\033[36m是否需要写入表格?[y/n] \033[0m" ;read ensure

case $ensure in
    y )
    echo "IP地址,主机名,内存容量,CPU信息,CPU核数,磁盘大小,当前负载" >> 报表.csv
    echo "${ip_info},${serv_info},${mem_info1},${cpu_info1},${cpu_info2},${disk_info},${load_info}" >> 报表.csv
    ;;
    n )
    echo -e "\033[32m不写入表格,即将退出...\033[0m"
    sleep 1
    exit
    ;;
    * )
    echo -e "\033[32m输入错误,即将退出...\033[0m"
    exit
    ;;
esac

exit
本文地址:https://www.ezliushao.com/242.html
加入我们:请加入刘少技术博客交流群:扫描二维码刘少技术博客的QQ交流群 | 浪子丶刘少 QQ:1150110267(注:微信暂停添加好友)
版权声明:本文为原创文章,版权归 浪子丶刘少 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

  1. 新闻头条
    新闻头条 【新手】 @回复

    文章不错支持一下吧