shell脚本查看系统基本信息

原创 2016年08月29日 09:33:26

1、一个可以查看和监控Linux一些基本信息的脚本:

初步代码

reset_terminal=$(tput sgr0) #定义一个高亮输出的变量
	
	#OS type
	os_type=$(uname -o)
	echo -e '\E[32m' "OS type:" $reset_terminal $os_type

	#OS release version
	os_version=$(cat /etc/issue | grep "CentOS")
	#os_version=$(cat /etc/redhat-release)
	echo -e '\E[32m' "OS release version:" $reset_terminal $os_version

	#architecture cpu指令集
	architecture=$(uname -m)
	echo -e '\E[32m' "architecture:" $reset_terminal $architecture
	
	#Kernel release
	kernel_release=$(uname -r)
	echo -e '\E[32m' "Kernel release:" $reset_terminal $kernel_release
	
	#hostname
	hostname=$(uname -n)
	#hostname=$(set | grep HOSTNAME)  $HOSTNAME
	echo -e '\E[32m' "hostname:" $reset_terminal $hostname
	
	#internal ip
	internal_ip=$(hostname -I)
	echo -e '\E[32m' "internal_ip:" $reset_terminal $internal_ip

	#external ip
	#external_ip=$(curl -s http://ipecho.net/plain)

	#DNS
	name_server=$(cat /etc/resolv.conf | grep "nameserver" | awk '{print $NF}')
	echo -e '\E[32m' "DNS:" $reset_terminal $name_server

	#if connected to internet or not
	ping -c 2 www.shanproxy.com &> /etc/null && echo "Internet:connected" || echo "Internet:Disconnected"

	#Logged in users
	who > /tmp/who
	echo -e '\E[32m' "Logged users" $reset_terminal && cat /tmp/who
	rm -f /tmp/who  #删除临时文件,避免再次执行时的影响

######################################################################################################################
	
	#操作系统真实占用内存
	sys_mem_used=$(awk '/MemTotal/{total=$2}/MemFree/{free=$2}/^Cached/{cache=$2}/Buffers/{buffers=$2}END{print (tota
l-free-cache-buffers)/1024}' /proc/meminfo)
	#sys_mem_used=$(free -m | grep "buffers/cache" | awk '{print $3}')
	echo -e '\E[32m' "sys_mem_used"  $reset_terminal $sys_mem_used

	
	#操作系统真实可用内存
	sys_men_free=$(awk '/MemFree/{free1=$2}/^Cached/{cache1=$2}/Buffers/{buffers1=$2}END{print(free1+cache1+buffers1)
/1024}' /proc/meminfo)
	#sys_mem_free=$(free -m | grep "buffers/cache" | awk '{print $4}')
	echo -e '\E[32m' "sys_men_free"  $reset_terminal $sys_men_free

	#CPU loadaverge
	loadaverge=$(top -n 1 -b | grep "load average" | awk '{print $12 $13 $14}')
	#loadaverge=$(uptime | awk '{print $10 $11 $12}')
	echo -e '\E[32m' "CPU loadaverge" $reset_terminal $loadaverge

	#Disk used
	disk_used=$(df -h | grep -v "Filesystem" | awk '{print $1 " "  $5}')
	echo -e '\E[32m' "Disk used" $reset_terminal $disk_used



2、输出结果


3、代码优化:将echo编写成一个函数:

echoFun(){
echo -e '\E[32m' "$1" $reset_terminal $2
}
#OS type
os_type=$(uname -o)
echoFun "OS type" $os_type

4、客户端nginx服务检查脚本:

#!/bin/bash


reset_terminal=$(tput sgr0) #定义一个高亮输出的变量
nginxserver_url='http://10.199.134.158'


echoFun(){
echo -e '\E[32m' "$1" $reset_terminal $2
}


Check_nginx_server(){
#curl  -m 设置最大传输时间 -s 静音模式 -w 返回状态码
status_code=$(curl -m 5 -s -w %{http_code} $nginxserver_url -o /dev/null)
#判断nginx返回的状态码
if [ $status_code -eq 000 -o $status_code -ge 500 ];then
echoFun "Nginx server error! http_code is" "$status_code"
else
nginx_content=$(curl -s $nginxserver_url)
echoFun "Nginx server ok!" "$nginx_content"
fi 
}


Check_nginx_server

5、nginx检查脚本输出结果:




shell查看系统基本信息脚本

#!/bin/bash echo "IP:" ifconfig |grep "inet addr"|grep -v 127.0.0.1|awk '{print $2}'|awk -F ':' '{pr...
  • dapeng0112
  • dapeng0112
  • 2014年09月29日 12:35
  • 1877

查看各种Linux系统版本信息的Shell命令

几种查看Linux版本信息的方法:   1. uname -a   2. cat /proc/version   3. cat /etc/issue   4. lsb_rele...
  • Huilaojia123
  • Huilaojia123
  • 2016年12月29日 14:19
  • 2727

shell获取系统运行状态、软硬件信息

主要内容:使用shell scripts 获取系统运行状态、软硬件信息(cpu负载、内存使用率、swap使用率、io速率、网络流量、软件包版本)。1、shell脚本 $ cat sysstat....
  • zhi387
  • zhi387
  • 2015年08月21日 15:42
  • 508

修改linux shell登陆欢迎信息

Ubuntu欢迎信息保存在/etc/update-motd.d/,修改其中的文件即可修改欢迎信息 ~# ls /etc/update-motd.d/ 00-header 10-help-text ...
  • junheart
  • junheart
  • 2015年06月17日 22:47
  • 1652

shell命令操作系统

  • 2011年12月08日 12:56
  • 28.03MB
  • 下载

adb shell 查看系统属性(用来判断特殊的操作系统)

一般来讲,在android程序开发中进行需要判断设备类型和系统版本 1、设备类型判断(android.os.Build.MODEL) 比如判断属于Google Nexus 5,Nexus 7,MI...
  • QQ774232122
  • QQ774232122
  • 2016年08月08日 10:30
  • 2496

Linux Shell:Linux系统信息查看命令大全

系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU...
  • liu870915
  • liu870915
  • 2016年09月20日 18:21
  • 929

Linux查看磁盘信息(编写shell脚本来分析文件的占用情况)

Linux查看磁盘信息(编写shell脚本来分析文件的占用情况)
  • canot
  • canot
  • 2016年03月30日 00:28
  • 3432

使用Shell脚本对Linux系统和进程资源进行监控

Shell 简介 Shell 语言对于接触 LINUX 的人来说都比较熟悉,它是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。实际上 Shel...
  • sd4015700
  • sd4015700
  • 2016年01月14日 14:01
  • 1160

利用Linux脚本+命令查看线程统计信息

最近在项目上写了个用于并行计算的线程池工具,遇到了性能瓶颈,于是求助/proc目录查看具体的线程统计数据用以优化程序...
  • sfdazsdf
  • sfdazsdf
  • 2015年07月08日 11:27
  • 1442
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:shell脚本查看系统基本信息
举报原因:
原因补充:

(最多只允许输入30个字)