您的位置 首页 shell案例

统计出系统主机名称,eth0IP地址,公网IP地址,系统版本号

作业:
1)内存使用率告警
2)负载使用告警
3)写一个脚本统计出系统主机名称,eth0IP地址,公网IP地址,系统版本号,内核版本号,平台信息,磁盘使用率,内存使用率
sh os.sh
当前主机名称: web01
公网IP地址: xxxxx
内存使用率: 22%

获取内存使用率:

free -h| awk 'NR==2{print $3/$2 * 10}'

 

获取负载:

w | awk 'NR==1{print $NF}'
[root@baimeidashu ~]#cat user_disk.sh 
#!/bin/bash
#检测硬盘使用率
use_disk=`df -h | grep 'sda3' | awk '{print $5}'`
echo $use_diskdd
echo ${use_disk%\%}
[ ${use_disk%\%} -gt 10 ] && echo 发送邮件  || echo 当前磁盘使用率为 $use_disk
#检测内存

free_mem1=`free -h| awk 'NR==2{print $3/$2 }'`
free_mem=${free_mem1%.*}

baifen_free_mem=`echo "$free_mem1*100"|bc`


baifen_free_mem=${baifen_free_mem%.*}

[ $free_mem -lt 2 ] && echo 内存使用率 小于20% || echo  内存使用率 为 $baifen_free_mem  %
#检测 负载

load_use=`w | awk 'NR==1{print $NF}'`
echo $load_use
load_use=`echo "$load_use*100"|bc`
load_use=${load_use%.*}
echo $load_use
[ $load_use -gt 8 ] && echo 15分钟平均负载超过 $load_use % 

 


 

3)写一个脚本统计出系统主机名称,eth0IP地址,公网IP地址,系统版本号,内核版本号,平台信息,磁盘使用率,内存使用率
sh os.sh
当前主机名称: web01
公网IP地址: xxxxx
内存使用率: 22%

 

获取当前主机名称:

hostnamectl| grep hostname | awk -F':' '{print $2}'

IP:

ip a| grep eth0 | awk 'NR==2{print $2}'

 

公网IP:

curl -s cip.cc | awk -F':' 'NR==1{print $2}'

 

系统版本号:

cat /etc/redhat-release

内核版本号:

hostnamectl | grep -i  kernel  | awk  -F':' '{print $2}'

平台信息:

hostnamectl | grep -i  Virtualization  | awk  -F':' '{print $2}'

 

 

 

[root@baimeidashu ~]#cat user_disk.sh 
#!/bin/bash
#检测硬盘使用率
use_disk=`df -h | grep 'sda3' | awk '{print $5}'`
[ ${use_disk%\%} -gt 10 ] && echo 发送邮件 当前磁盘使用率为$use_disk  || echo 当前磁盘使用率为 $use_disk
#检测内存

free_mem1=`free -h| awk 'NR==2{print $3/$2 }'`
free_mem=${free_mem1%.*}

baifen_free_mem=`echo "$free_mem1*100"|bc`


baifen_free_mem=${baifen_free_mem%.*}

[ $free_mem -lt 2 ] && echo 内存使用率 小于20% || echo  内存使用率 为 $baifen_free_mem  %
#检测 负载
load_use=`w | awk 'NR==1{print $NF}'`
load_use=${load_use%.*}
[ $load_use -gt 8 ] && echo 15分钟平均负载超过 $load_use %  || echo 15分钟平均负载 $load_use %
#获取当前主机名称
hostname1=`hostnamectl| grep hostname | awk -F":" '{print $2}'`
echo 主机名称: $hostname1
#当前IP 
eth0ip=`ip a| grep eth0 | awk 'NR==2{print $2}'`

eth0ip=${eth0ip%\/*}
echo eth0 ip  为 $eth0ip
#公网IP
PUBIP=`curl -s cip.cc | awk -F':' 'NR==1{print $2}'`
echo 公网IP 为: $PUBIP
#系统版本号
SYSTEMVERSION=`cat /etc/redhat-release`
echo 系统版本号为: $SYSTEMVERSION
#内核版本号
COREVERSION=`hostnamectl | grep -i  kernel  | awk  -F":" '{print $2}'`
COREVERSION=${COREVERSION%\.el*}
echo 内核版本号为: $COREVERSION
#平台信息
INFO=`hostnamectl | grep -i  Virtualization  | awk  -F':' '{print $2}'`
echo 平台信息: $INFO

 



使用三种传参方式写一个计算器: 加减乘除
直接传参
[root@web00 day02]# cat count.sh
#!/bin/bash
echo $1+$2=$[$1+$2]
echo $1-$2=$[$1-$2]
echo $1*$2=$[$1*$2]
echo $1/$2=$[$1/$2]
[root@web00 day02]# sh count.sh 20 10
20+10=30
20-10=10
20*10=200
20/10=2

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章