#!/bin/bash
printf "%10s\n" "##主机名##"
printf "%-10s\n" "$(hostname)"
echo "############CPU状态#####################################################################"
/usr/bin/top -b |head -5
echo "------------------------------------------"
echo "占用CPU时间前10"
ps aux|head -1|awk '{printf "%-8s %5s %4s %4s %-8s %-8s %-10s \n", $1,$2,$3,$4,$5,$6,$11}'
ps aux|grep -v PID|sort -rn -k +3|head|awk '{printf "%-8s %5s %4s %4s %-8s %-8s %-10s \n", $1,$2,$3,$4,$5,$6,$11}'

echo "############内存状态:###################################################################"
free -m
echo "------------------------------------------"
echo "占用内存前10"
ps aux|head -1|awk '{printf "%-8s %5s %4s %4s %-8s %-8s %-10s \n", $1,$2,$3,$4,$5,$6,$11}'
ps aux|grep -v PID|sort -rn -k +4|head|awk '{printf "%-8s %5s %4s %4s %-8s %-8s %-10s \n", $1,$2,$3,$4,$5,$6,$11}'

echo "############硬盘状态:#####################################################################"
use_disk=$(df|grep "^/dev/vd"| grep -Eo "\<[0-9]+\>%"|sort -nr|head -1)
var_disk=$(df -h|grep "^/dev/vd"|grep -Eo "[0-9]+G"|tail -1)
echo "硬盘空间使用率:$use_disk"
echo "硬盘剩余空间:$var_disk"
disk_inode=$(df -i|grep "^/dev/vd"| grep -Eo "\<[0-9]+\>%"|sort -nr|head -1)
echo "硬盘inode使用率:$disk_inode"

echo "############TCP状态:#######################################################################"
echo "当前TCP连接数:"`netstat -nat | grep ESTABLISHED | wc -l`
echo "查看TCP连接状态:"
ss -tan|awk 'NR>1{++S[$1]}END{for (a in S) print a,S[a]}'
echo "------------------------------------------"
echo "ESTABLISHED状态IP前10"
netstat -an |grep ^tcp.*:80|egrep -v 'ESTABLISHED'|awk -F"[ ]+|[:]" '{print $6}'|sort|uniq -c|sort -rn|head -10
echo "------------------------------------------"
echo "TIME_WAIT状态IP前10"
netstat -an |grep ^tcp.*:80|egrep -v 'LISTEN|127.0.0.1'|awk -F"[ ]+|[:]" '{print $6}'|sort|uniq -c|sort -rn|head -10
echo "------------------------------------------"
echo "#############网卡状态:#####################################################################"
RXpre=$(cat /proc/net/dev |grep eth0|awk '{print $2}')
TXpre=$(cat /proc/net/dev |grep eth0|awk '{print $10}')
RXpack=$(cat /proc/net/dev |grep eth0|awk '{print $3}')
TXpack=$(cat /proc/net/dev |grep eth0|awk '{print $11}')
RXerr=$(cat /proc/net/dev |grep eth0|awk '{print $4}')
TXerr=$(cat /proc/net/dev |grep eth0|awk '{print $12}')
RXdrop=$(cat /proc/net/dev |grep eth0|awk '{print $5}')
TXdrop=$(cat /proc/net/dev |grep eth0|awk '{print $13}')

sleep 1
RXnext=$(cat /proc/net/dev |grep eth0|awk '{print $2}')
TXnext=$(cat /proc/net/dev |grep eth0|awk '{print $10}')
RXnextpack=$(cat /proc/net/dev |grep eth0|awk '{print $3}')
TXnextpack=$(cat /proc/net/dev |grep eth0|awk '{print $11}')
RXnexterr=$(cat /proc/net/dev |grep eth0|awk '{print $4}')
TXnexterr=$(cat /proc/net/dev |grep eth0|awk '{print $12}')
RXnextdrop=$(cat /proc/net/dev |grep eth0|awk '{print $5}')
TXnextdrop=$(cat /proc/net/dev |grep eth0|awk '{print $13}')

RX=$(( ${RXnext} - ${RXpre} ))
TX=$(( ${TXnext} - ${TXpre} ))
RXpack=$((${RXnextpack} - ${RXpack}))
TXpack=$((${TXnextpack} - ${TXpack}))
RXerr=$((${RXnexterr} - ${RXerr}))
TXerr=$((${TXnexterr} - ${TXerr}))
RXdrop=$((${RXnextdrop} - ${RXdrop}))
TXdrop=$((${TXnextdrop} - ${TXdrop}))

printf "%s" "接收字节 发送字节 接收包数 发送包数 接收错误 发送错误 接收丢弃 发送丢弃"
echo -e "\n"
printf "%-9s" ${RX} ${TX} ${RXpack} ${TXpack} ${RXerr} ${TXerr} ${RXdrop} ${TXdrop}
echo -e "\n"

linux系统状态脚本的更多相关文章

  1. Linux系统状态监控小工具 - Linux Dash

    Linux Dash是一个简单易用的Linux系统状态监控工具,项目地址:https://github.com/afaqurk/linux-dash 1.安装Apache服务: [root@local ...

  2. 【第十三课】监控Linux系统状态

    目录 1.查看系统负载命令:w.uptime 2.vmstat详解 3.top动态查看负载 4.sar命令(监控网卡流量) 5.nload命令(监控网卡流量) 6.iostat iotop(监控IO性 ...

  3. linux系统状态网络、权限、用户大杂烩

    来来来,我们聊一下liunx系统相关的知识!! 首先从查询网络配置开始 ifconfig 查询.设置网卡和ip等参数 ifup,ifdown 脚本命令,更简单的方式启动关闭网络 ip命令是结合了ifc ...

  4. 查看linux系统状态

    就类似你装完xp后,或者你拿到一台新的机器的时候,你通常都是进入系统,看看他的cpu,内存,硬盘使用情况.我也按照这个来看看linux的系统状态.1:top 退出按q,这个就类似windows的任务管 ...

  5. Linux 系统状态检测命令

    介绍快速查看Linux系统运行状态的能力(网络网卡.系统内核.系统负载.内存使用情况.启用终端数量.历史登录记录.命令执行记录.救援诊断)等命令使用方法 1.ifconfig  用于获取网卡配置和网络 ...

  6. linux系统状态检测命令

    1.ifconfig命令 ifconfig命令用于获取网卡配置与网络状态等信息,格式为“ifconfig [网络设备] [参数]”. 使用ifconfig命令来查看本机当前的网卡配置与网络状态等信息时 ...

  7. shell实现增加删除Linux系统用户脚本(密码为随机)

    README shell环境下运行脚本,根据需求选择相应的功能. List \t\t create the userlist 这一步是必须执行的,脚本会识别本地当前目录下的文件 Useradd \t\ ...

  8. linux系统状态查看/管理相关命令

    系统状态查看命令: w 查看用户 top 系统进程监控 uptime 查看某台服务器运行了多久 htop 更加先进的交互式监控工具(需要安装) iotop 监控并实时显示磁盘IO输入和输出和程序进程( ...

  9. linux系统备份脚本

    前言 之前写过<<linux系统简单备份的脚本>>, 最开始一直用着,后来觉得有必要改进下它,不管是从操作方式上还是脚本的工作方式上.之所以这么看重备份,是因为我经历过磁盘损坏 ...

随机推荐

  1. LeetCode 1219. Path with Maximum Gold

    原题链接在这里:https://leetcode.com/problems/path-with-maximum-gold/ 题目: In a gold mine grid of size m * n, ...

  2. LOJ P10002 喷水装置 题解

    每日一题 day35 打卡 Analysis 先将不符合条件的区间去掉(即半径小于W,不然宽度无法符合),将符合条件的按区间存入节点中.区间的左边界是x-sqrt(r*r-W*W/4.0),要计算x轴 ...

  3. vue Uncaught SyntaxError: Unexpected token < 报错

    这个问题是因为项目中出现没有闭合的标签,如<img src="">  需改成<img src="xxx.png"/>

  4. 平安寿险Java面试-社招-四面(2019/08)

    个人情况 2017年毕业,普通本科,计算机科学与技术专业,毕业后在一个二三线小城市从事Java开发,2年Java开发经验.做过分布式开发,没有高并发的处理经验,平时做To G的项目居多.写下面经是希望 ...

  5. 多语言编程必备的十大 Vim 插件

    原文地址:http://www.linuxeden.com/a/58769 使用这 10 个 Vim 插件,可以让你在写代码或运维时,感觉更棒. 我使用 Vim 文本编辑器大约 20 年了.有一段时间 ...

  6. django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applie

    Traceback (most recent call last): File "manage.py", line 15, in <module> execute_fr ...

  7. ICEM-一种网格画法的思考

    原视频下载链接:https://pan.baidu.com/s/1kV4Zj3x 密码: uthc

  8. vscode前端插件(我的标配)

    前言 今天给我的vscode编辑汉化了一下)我也不知道为什么要汉化一下... 但是汉化后 我的vue文件木有高亮了,2333(只好一顿操作 再安装插件 还要去百度找 自己留存) 汉化后 是所有的插件都 ...

  9. Linux Shell:根据指定的文件列表 或 map配置,进行文件位置转移

    读取配置文件,进行文件位置转移 在whenb.csv中指定了需要从/home/root/cf/下移除到/home/root/cf_wh/下文件列表,whenb.csv中包含记录如下: enb- enb ...

  10. 纯CSS样式实现数字加减按钮的最佳方案

    前言: 对于数字加减按钮的实现,以前用过不少方案,诸如: 1.使用背景图片——这种效果比较好,缺点是样式控制有点复杂了,还需要使用图片: 2.直接使用“+”“-”——这种方法简单粗暴,最容易实现,缺点 ...