Bash脚本显示当前系统运行报告
2014-06-04 17:18
183 查看
下面这个脚本是我之前学习bash脚本时,从一本书上看到了,觉得很不错,所以拿来跟大家分享一下哈。呵呵。别的就不多说了,看代码吧:
至此,脚本完毕,来运行一下,看有什么结果:
#!/bin/bash def_colors () { # Attributes normal='\033[0m';bold='\033[1m';dim='\033[2m';under='\033[4m' italic='033[3m'; notalic='\033[23m'; blink='\033[5m'; reverse='\033[7m'; conceal='\033[8m'; nobold='\033[22m'; nounder='\033[24m'; noblink='\033[25m' # Foreground black='\033[30m'; red='\033[31m'; green='\033[32m'; yellow='\033[33m' blue='\033[34m'; magenta='\033[35m'; cyan='\033[36m'; white='\033[37m' # Background bblack='\033[40m'; bred='\033[41m' bgreen='\033[42m'; byellow='\033[43m' bblue='\033[44m'; bmagenta='\033[45m' bcyan='\033[46m'; bwhite='\033[47m' } def_colors clear hostname=`cat /proc/sys/kernel/hostname` echo echo -e "System Report for $white$hostname$normal on `date`" echo prcessor=`grep 'model name' /proc/cpuinfo | cut -d: -f2 | cut -c2-` nisdomain=`cat /proc/sys/kernel/domainname` cache=`grep 'cache size' /proc/cpuinfo | awk '{print $4,$5}'` bogomips=`grep 'bogomips' /proc/cpuinfo | awk '{print $3}'` vendor=`grep 'vendor_id' /proc/cpuinfo` echo -e "Hostname: $white$hostname$normal NIS Domain: $white$nisdomain$normal" if [ "`echo $vedner | grep -i intel`" ] then cpu_color=$blue elif [ "`echo $vender | grep -i amd`" ] then cpu_color=$green fi echo -e "Processor: $cpu_color$processor$normal" echo -e "Running at $white$bogomips$normal bogomips with \ $white$cache$normal cache" echo ostype=`cat /proc/sys/kernel/ostype` osrelease=`cat /proc/sys/kernel/osrelease` rev=`cat /proc/sys/kernel/version | awk '{print $1}'` da_date=`cat /proc/sys/kernel/version | cut -d\ -f2-` upsec=`awk '{print $1}' /proc/uptime` uptime=`echo "scale=2;$upsec/86400" | bc` echo -e "OS Type: $white$ostype$normal" echo -e "Kernel: $white$osrelease$normal" echo -e "Kernel Compile $white$rev$normal on $white$da_date$normal" echo -e "Uptime: $magenta$uptime$normal days" set `grep MemTotal /proc/meminfo` tot_mem=$2; tot_mem_unit=$3 set 'grep MemFree /proc/meminfo' free_mem=$2; fre_mem_unit=$3 perc_mem_used=$((100-(100*free_mem/tot_mem))) set `grep SwapTotal /proc/meminfo` tot_swap=$2; tot_swap_unit=$3 perc_swap_used=$((100-(100*free_swap/tot_swap))) if [ $perc_mem_used -lt 80 ] then mem_color=$green elif [ $perc_mem_used -ge 80 -a $perc_mem_used -lt 90 ] then mem_color=$yellow else mem_color=$red fi if [ $perc_swap_used -lt 80 ] then swap_color=$green elif [ $perc_swap_used -ge 80 -a $perc_swap_used -lt 90 ] then swap_color=$yellow else swap_color=$red fi echo -e "Memory: $white$tot_mem$normal $tot_mem_unit Free: $white$free_mem$normal \ $fre_mem_unit $Used: $mem_color$perc_mem_used$normal" echo -e "Swap: $white$tot_swap$normal $tot_swap_unit Free: $white$free_swap$normal \ $fre_swap_unit $Used: $swap_color$perc_swap_used$normal" echo set `cat /proc/loadavg` one_min=$1 five_min=$2 fifteen_min=$3 echo -n "Load Avderage: " for ave in $one_min $five_min $fifteen_min do int_ave=`echo $ave | cut -d. -f1` if [ $int_ave -lt 1 ] then echo -en "$green$ave$normal " elif [ $int_ave -ge 1 -a $int_ave -lt 5 ] then echo -en "$yellow$ave$normal " else echo -en "$red$ave$normal" fi done echo running=0; sleeping=0; stopped=0; zombie=0 for pid in /proc/[1-9]* do procs=$((procs+1)) stat=`awk '{print $3}' $pid/stat` case $stat in R) running=$((running+1));; S) sleeping=$((sleeping+1));; T) stopped=$((stopped+1));; Z) zombie=$((zombie+1));; esac done echo -n "Process Count:" echo -e "$white$process$normal total $white$running$normal running \ $white$sleep$normal sleeping $white$stopped$normal stopped \ $white$zombie$normal zombie" echo
至此,脚本完毕,来运行一下,看有什么结果:
System Report for xxxxxx on Wed Jun 4 17:09:54 CST 2014 Hostname: xxxxxx NIS Domain: Processor: Running at 6077.22 6077.22 ...此处省略很多行 6077.22 bogomips with 2048 KB 2048 KB ...此处省略很多行 2048 KB cache OS Type: Linux Kernel: 3.10.13-0.96-xen Kernel Compile #1 on SMP Wed Feb 15 13:33:49 UTC 2012 (d73692b) Uptime: 26.09 days Memory: 4155904 kB Free: : 100 Swap: 16779260 kB Free: : 100 Load Avderage: 0.00 0.01 0.05 Process Count: total 0 running sleeping 0 stopped 4 zombie
相关文章推荐
- 显示linux当前状态的脚本(系统内核、硬盘、内存、CPU、网卡)
- 简单脚本之显示系统当前的一些信息
- [4月17日的脚本] 收集Windows 8 中系统运行状况报告 (PowerShell)
- linux-raspbian系统下编写python脚本显示树莓派的当前cpu温度、使用率、内存和硬盘信息
- (我写过的脚本)查看进程运行时间,显示硬件时间,系统开机时间
- 使用命令xrandr设置当前系统的显示分辨率及显示的旋转脚本
- 使用命令xrandr设置当前系统的显示分辨率及显示的旋转脚本
- Linux下运行bash脚本显示“: /usr/bin/env: "bash\r": 没有那个文件或目录
- quotastats命令_Linux quotastats 命令用法详解:显示系统当前的磁盘配额运行状态信息
- 保证系统中只运行当前程序的一个进程
- 显示系统当前日期
- JS脚本显示当前日期+星期几
- 使用JavaScript显示当前系统时间
- 在网页中动态显示当前的系统日期和时间(最简代码)
- jsp 显示当前系统日期
- 【BASH】运行目录下面的所有脚本
- c++实现显示系统当前时间
- sh下运行#!/bin/bash开头的脚本会返回not found
- js显示当前星期的起止日期的脚本
- 如何在网页中动态显示当前的系统日期和时间?