您的位置:首页 > 运维架构 > Shell

Shell脚本获取系统运行信息 (信息包括:内存M,硬盘%,CPU%,负载情况,进程数,等)

2019-03-22 23:52 2461 查看
版权声明:转载请注明来源~ https://blog.csdn.net/iBosea/article/details/88753841

效果图:


Code:

#!/bin/bash
#system runing info
#Now system runing Times
#CPU info
CPU_INFO=$(top -n1 |grep "Cpu(s):" |awk '{print echo "CPU使用率(%):"$2 echo "%"}')
#Disk info
DISK_INFO=$(df -hT |grep /dev/vda1 |awk '{print echo "硬盘使用率(%):"$6}')
#Mem Info
Mem_INFO=$(free -h |grep Mem |awk '{print echo "剩余内存:"$7}')
#80
Prot=$(nmap 127.0.0.1 |grep 80 |awk '{print $2}')
#3306
Prot1=$(nmap 127.0.0.1 |grep 3306 |awk '{print $2}')
#dateTime
Time=$(date +%F)
#UPTIME   #这是系统已经运行时间代码,脚本放在下面
Uptime=$(sh /mail/uptime.sh)
#FuZai
local=$(uptime |awk '{print $8,$9,$10}')
#系统在线用户
vu=$(who |wc -l)
upname=$(who |awk '{print echo "用户名:"$1,   echo "IP:"$5}')
#统计进程数
run=$(ps -aux |wc -l)
#输出
echo "当前主机名:$(hostname)                                                      "
echo "------------------------------------------------------------------------  "
echo "$CPU_INFO                                                         "
echo "------------------------------------------------------------------------  "
echo "$DISK_INFO                                                                "
echo "------------------------------------------------------------------------  "
echo "Web:$Prot      MySQL:$Prot1                                               "
echo "------------------------------------------------------------------------"
echo "$Mem_INFO"
echo "------------------------------------------------------------------------"
echo "$Uptime"
echo "------------------------------------------------------------------------"

系统已经运行时长代码:(摘抄别人的,但忘记出处了。。。):

cat /proc/uptime| awk -F. '{run_days=$1 / 86400;run_hour=($1 % 86400)/3600;run_minute=($1 % 3600)/60;run_second=$1 % 60;printf("系统已运行:%d天%d时%d分%d秒",run_days,run_hour,run_minute,run_second)}'

Ps:代码中有几个是引用其他脚本文件的,位置是

/mail/
文件夹下,改成自己的即可
还有一个就是脚本中使用了nmap软件,用来查看MySQL(3306)和Web(80)端口是否打开。要用的话有的机器可能没装,需要先装一下:

yum -y install nmap

再次PS:我用这个是配置了Linux的计划任务每天定时运行,然后发送到我邮箱里面,系统负载那里我用的awk截取有点问题,大家改一下…

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐