代码如下,实现了Linux系统的一些常见的监控变量,分享给大家@.·.@
#=============================# #Filename=system_monitor.sh #Author:foxsir #Date:2016-02-15 #=============================# #!/bin/sh clear if [[ $# -eq 0 ]] then #Define Variable Reset_terminal Reset_terminal=$(tput sgr0) #Check OS Type OS=$(uname -o) echo -e '\E[36m' "Operating System Type :" $Reset_terminal $OS #Check OS Realease Version And Name OS_name=$(cat /etc/issue | grep "Server") echo -e '\E[36m' "Operating System Realease Version :" $Reset_terminal $OS_name #Check Architecture Architecture=$(uname -m) echo -e '\E[36m' "Operating System Architecture :" $Reset_terminal $Architecture #Check Kernel Realease Kernel_Realease=$(uname -r) echo -e '\E[36m' "Operating System Kernel Realease :" $Reset_terminal $Kernel_Realease #Check Hostname Hostname=$(hostname) echo -e '\E[36m' "Operating System Hostname :" $Reset_terminal $Hostname #Check Internal IP Internal_IP=$(hostname -I) echo -e '\E[36m' "Operating System Internal IP :" $Reset_terminal $Internal_IP #Check External IP External_IP=$(curl -s http://ipecho.net/plain) echo -e '\E[36m' "Operating System External IP :" $Reset_terminal $External_IP #Check DNS DNS=$(cat /etc/resolv.conf | grep "/<nameserver[ ]+"|awk '{print $NF}') echo -e '\E[36m' "Operating System DNS :" $Reset_terminal $DNS #Check if connected To Internet Or Not ping -c2 www.baidu.com &>/dev/null && echo -e '\E[36m' "Internet : Connected" || echo '\E[36m' "Internet : Failed" #Check Logged In Users who > /tmp/who echo -e '\E[36m' "Operating System Lgged In Users :" $Reset_terminal && cat /tmp/who rm -f /tmp/who #Check OS Memory Userages echo -e '\E[36m' "Operating System Memory Userages :" $Reset_terminal $(cat /proc/meminfo | awk '/^MemTotal/{MemTotal=$2}/^MemFree/{MemFree=$2}END {print (MemTotal-MemFree)/1024,"M"}') #Check App Memory Userages echo -e '\E[36m' "App Memory Userages :" $Reset_terminal $(cat /proc/meminfo | awk '/^MemTotal/{MemTotal=$2}/^MemFree/{MemFree=$2}/^Buffers/{Buffers=$2}/^Cached/{Cached=$2}END {print (MemTotal-MemFree-Buffers-Cached)/1024,"M"}') #Check OS Loadaverage echo -e '\E[36m' "Operating System Loadaverage :" $Reset_terminal $(top -n1b | grep "load average" | awk '{print $(NF-2) $(NF-1) $NF}') #Check OS Diskaverage echo -e '\E[36m' "Operating System Diskaverage :" $Reset_terminal $(df -hP | grep -vE "%%|tmpfs" | awk '{print $1,$5}') #Check OS Runtime echo -e '\E[36m' "Operating System Runtime :" $Reset_terminal $(top -n1b | grep "load average" | awk -F"[ ,]+" '{print $5}') fi