Java教程

shell提取当前机器静态属性

本文主要是介绍shell提取当前机器静态属性,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

需求

写脚本,提取当前机器的静态属性,包括如下,写入文件/tmp/server_info.log
系统版本 cat /etc/redhat-release
内核版本 uname -r
主机名 hostname
eth0网卡ip ifconfig eth0 | awk 'NR2{print $2}'
eth1网卡ip ifconfig eth1 | awk 'NR
2{print $2}'
当前主机的公网ip curl -s ifconfig.me
内存使用率 free -m | awk 'NR2 {print $3/$2*100"%"}'
磁盘使用率 df -h|awk '//$/{print $5}')
CPU使用率 全方面的监控机器的内存磁盘CPUvmstat 2 5
yum install sysstat
查看CPU使用 sar 3 5
sar 1 1 | awk 'NR
4{print 100-$NF"%"}'
top -n1 | awk 'NR==3{print 100-$8"%"}'

### 1、提取当前机器的静态属性

```bash
[root@master-61 ~]#cat /my-shell/shuxing.sh 
#!/bin/bash
echo "--------正在查看系统版本----------------"
echo "系统版本是:$(cat /etc/redhat-release)" >> /tmp/server_info.log 
echo "                                        " >> /tmp/server_info.log

echo "--------正在查看内核版本----------------"
echo "内核版本是:$(uname -r)" >> /tmp/server_info.log
echo "                                        " >> /tmp/server_info.log

echo "--------正在查看主机名----------------"
echo "主机名是:$(hostname)" >> /tmp/server_info.log
echo "                                        " >> /tmp/server_info.log

echo "--------正在查看eth0的IP----------------"
echo "网卡eth0的ip是:$(ifconfig eth0 | awk 'NR==2{print $2}')" >> /tmp/server_info.log
echo "                                        " >> /tmp/server_info.log

echo "--------正在查看eth1的IP----------------"
echo "网卡eth0的ip是:$(ifconfig eth1 | awk 'NR==2{print $2}')" >> /tmp/server_info.log
echo "                                        " >> /tmp/server_info.log

echo "--------正在查看公网IP----------------"
echo "公网IP是:$(curl -s ifconfig.me)" >> /tmp/server_info.log
echo "                                        " >> /tmp/server_info.log

echo "--------正在查看内存使用率----------------"
echo "内存使用率:$(free -m | awk 'NR==2 {print $3/$2*100"%"}')" >> /tmp/server_info.log
echo "                                        " >> /tmp/server_info.log

echo "--------正在查看磁盘使用率----------------"
echo "磁盘使用率:$(df -h|awk '/\/$/{print $5}')" >> /tmp/server_info.log
echo "                                        " >> /tmp/server_info.log

echo "--------正在查看CPU使用率----------------"
echo "CPU使用率:$(sar 1 1 | awk 'NR==4{print 100-$NF"%"}')" >> /tmp/server_info.log
echo "                                        " >> /tmp/server_info.log

echo "都写入在/tmp/server_info.log文件中,请查看"

这篇关于shell提取当前机器静态属性的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!