獲取服務(wù)器信息的Shell腳本分享(ubuntu、centos測(cè)試通過)
此腳本已經(jīng)在ubuntu以及centos版本上測(cè)試通過,腳本如下:
#!/bin/bash
Line='==========='
#linux發(fā)行版名稱
if [[ -f /usr/bin/lsb_release ]]; then
OS=$(/usr/bin/lsb_release -a |grep Description |awk -F : '{print $2}' |sed 's/^[ \t]*//g')
else
OS=$(cat /etc/issue |sed -n '1p')
fi
echo -e "${Line}\nOS:\n${OS}\n${Line}"
######################################################################################################
#查看系統(tǒng)是否為64位:uname -m,若出現(xiàn)x86_64,則為64位
OS_version=$(uname -m)
echo -e "OS_version:\n${OS_version}\n${Line}"
#系統(tǒng)內(nèi)核版本
kernel_version=$(uname -r)
echo -e "Kernel_version:\n${kernel_version}\n${Line}"
#cpu型號(hào)
CPU=$(grep 'model name' /proc/cpuinfo |uniq |awk -F : '{print $2}' |sed 's/^[ \t]*//g' |sed 's/ \+/ /g')
echo -e "CPU model:\n${CPU}\n${Line}"
#物理cpu個(gè)數(shù)
Counts=$(grep 'physical id' /proc/cpuinfo |sort |uniq |wc -l)
echo -e "Total of physical CPU:\n${Counts}\n${Line}"
#物理cpu內(nèi)核數(shù)
Cores=$(grep 'cpu cores' /proc/cpuinfo |uniq |awk -F : '{print $2}' |sed 's/^[ \t]*//g')
echo -e "Number of CPU cores\n${Cores}\n${Line}"
#邏輯cpu個(gè)數(shù)
PROCESSOR=$(grep 'processor' /proc/cpuinfo |sort |uniq |wc -l)
echo -e "Number of logical CPUs:\n${PROCESSOR}\n${Line}"
#查看CPU當(dāng)前運(yùn)行模式是64位還是32位
Mode=$(getconf LONG_BIT)
echo -e "Present Mode Of CPU:\n${Mode}\n${Line}"
#查看CPU是否支持64位技術(shù):grep 'flags' /proc/cpuinfo,若flags信息中包含lm字段,則支持64位
Numbers=$(grep 'lm' /proc/cpuinfo |wc -l)
if (( ${Numbers} > 0)); then lm=64
else lm=32
fi
echo -e "Support Mode Of CPU:\n${lm}\n${Line}"
######################################################################
#Memtotal 內(nèi)存總大小
Total=$(cat /proc/meminfo |grep 'MemTotal' |awk -F : '{print $2}' |sed 's/^[ \t]*//g')
echo -e "Total Memory:\n${Total}\n${Line}"
#系統(tǒng)支持最大內(nèi)存
Max_Capacity=$(dmidecode -t memory -q |grep 'Maximum Capacity' |awk -F : '{print $2}' |sed 's/^[ \t]*//g')
echo -e "Maxinum Memory Capacity:\n${Max_Capacity}\n${Line}"
#查看內(nèi)存類型、頻率、條數(shù)、最大支持內(nèi)存等信息:dmidecode -t memory,或dmidecode | grep -A16 "Memory Device$"
#下面為統(tǒng)計(jì)內(nèi)存條數(shù)
Number=$(dmidecode | grep -A16 "Memory Device$" |grep Size|sort |sed 's/^[ \t]*//g'| grep -v 'No Module Installed' | wc -l)
echo -e "Number of Physical Memory:\n${Number}\n${Line}"
#SwapTotal swap分區(qū)總大小
SwapTotal=$(cat /proc/meminfo |grep 'SwapTotal' |awk -F : '{print $2}' |sed 's/^[ \t]*//g')
echo -e "Total Swap:\n${SwapTotal}\n${Line}"
#Buffers size
Buffers=$(cat /proc/meminfo |grep 'Buffers' |awk -F : '{print $2}' |sed 's/^[ \t]*//g')
echo -e "Buffers:\n${Buffers}\n${Line}"
#Cached size
Cached=$(cat /proc/meminfo |grep '\<Cached\>' |awk -F : '{print $2}' |sed 's/^[ \t]*//g')
echo -e "Cached:\n${Cached}\n${Line}"
#空閑內(nèi)存 + buffers/cache
Available=$(free -m |grep - |awk -F : '{print $2}' |awk '{print $2}')
echo -e "Available Memory:\n${Available} MB\n${Line}"
#顯示硬盤,以及大小
Disk=$(fdisk -l |grep 'Disk' |awk -F , '{print $1}' | sed 's/Disk identifier.*//g' | sed '/^$/d')
echo -e "Amount Of Disks:\n${Disk}\n${Line}"
#各掛載分區(qū)使用情況
Partion=$(df -hlP |sed -n '2,$p')
echo -e "Usage Of partions:\n${Partion}\n${Line}"
----------------------------------------------------------------------------------------
測(cè)試結(jié)果展示:
===========
OS:
Red Hat Enterprise Linux Server release 5.6 (Tikanga)
===========
OS_version:
i686
===========
Kernel_version:
2.6.18-238.el5
===========
CPU model:
AMD A6-3400M APU with Radeon(tm) HD Graphics
===========
Total of physical CPU:
2
===========
Number of CPU cores
2
===========
Number of logical CPUs:
4
===========
Present Mode Of CPU:
32
===========
Support Mode Of CPU:
64
===========
Total Memory:
514744 kB
===========
Maxinum Memory Capacity:
1024 GB
===========
Number of Physical Memory:
1
===========
Total Swap:
1044216 kB
===========
Buffers:
101936 kB
===========
Cached:
267356 kB
===========
Available Memory:
369 MB
===========
Amount Of Disks:
Disk /dev/sda: 107.3 GB
===========
Usage Of partions:
/dev/sda3 96G 4.6G 87G 6% /
/dev/sda1 99M 12M 83M 13% /boot
tmpfs 252M 0 252M 0% /dev/shm
/dev/hdc 3.0G 3.0G 0 100% /media/RHEL_5.6 i386 DVD
===========
相關(guān)文章
linux下使用rinetd來(lái)實(shí)現(xiàn)端口轉(zhuǎn)發(fā)
本文給大家分享的是一個(gè)linux下簡(jiǎn)單好用的工具rinetd,實(shí)現(xiàn)端口映射/轉(zhuǎn)發(fā)/重定向,有需要的小伙伴可以參考下。2015-05-05Shell中的循環(huán)語(yǔ)句for、while、until實(shí)例講解
這篇文章主要介紹了Shell中的循環(huán)語(yǔ)句for、while、until實(shí)例講解,簡(jiǎn)單清晰明了,非常不錯(cuò)的教程,需要的朋友可以參考下2014-06-06Linux?shell字符串截取、替換、刪除以及trim代碼示例
在Shell編程中,截取、替換、刪除字符串是非常常見的操作,這篇文章主要給大家介紹了關(guān)于Linux?shell字符串截取、替換、刪除以及trim的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-03-03詳解shell腳本中的case條件語(yǔ)句介紹和使用案例
這篇文章主要介紹了詳解shell腳本中的case條件語(yǔ)句介紹和使用案例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04程序中獲取linux系統(tǒng)啟動(dòng)時(shí)間方法
需要在應(yīng)用程序獲取系統(tǒng)的啟動(dòng)時(shí)間,通過sysinfo中的uptime可以計(jì)算出系統(tǒng)的啟動(dòng)時(shí)間,下面介紹一下獲取方法,大家參考使用吧2014-01-01crond構(gòu)建linux定時(shí)任務(wù)及日志查看腳本詳解
這篇文章主要為大家介紹了crond構(gòu)建linux定時(shí)任務(wù)及日志查看腳本詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10