Linux巡检脚本:系统状态快速检查工具
“LinuX巡检.txt”是一个用于Linux系统巡检的简易脚本,适用于系统实施、运维和DBA人员快速定位和检查操作系统状态,也适合作为日常巡检的参考工具。该脚本支持收集系统内存信息、网络IP地址、主机名、CPU信息、操作系统版本、SELinux状态、系统运行时间、MySQL和Oracle进程计数等相关数据,并将结果保存到指定的日志文件中。 脚本内容详解: 1. 日期获取:通过`date+%Y-%m-%d`命令获取当前日期,格式化为年月日,用于记录巡检的时间戳。 2. 内存信息:使用`free -m | grep "Mem" | awk -F ''' {print $2}'`命令获取系统的总内存(以MB为单位)。 3. 操作系统版本:通过`cat /etc/redhat-release`获取Red Hat Enterprise Linux或CentOS的版本信息。 4. 网络IP地址:使用`ifconfig | grep 'inetaddr' | grep -v '127.0.0.1' | awk -F ''' {print $2}' | awk -F ':' {print $2}' | sed -n 1p`获取非回环接口的IP地址。 5. 主机名:通过`hostname`命令获取主机名。 6. 物理CPU数量:利用`cat /proc/cpuinfo | grep "physicalid" | sort | uniq | wc -l`计算物理CPU的数量。 7. 逻辑CPU数量:通过`cat /proc/cpuinfo | grep "processor" | wc -l`获取逻辑CPU(包括超线程)的数量。 8. CentOS版本:通过`awk '{print $(NF-1)}' /etc/redhat-release`获取CentOS的主版本号。 9. 结果文件:将巡检结果保存在`/tmp/${hn}_${dat}_${ipp}.txt`,其中${hn}是主机名,${dat}是日期,${ipp}是IP地址。 10. 物理核心与虚拟核心:`Physical_CPUs`和`Virt_CPUs`分别表示物理CPU和逻辑CPU的数量。 11. CPU内核数:`CPU_Kernels`通过`grep "cores" /proc/cpuinfo | uniq | awk -F : {print $2}`获取每个CPU的核心数。 12. CPU型号:`CPU_Type`通过`grep "modelname" /proc/cpuinfo | awk -F : {print $2} | sort | uniq`获取CPU的型号。 13. CPU架构:`CPU_Arch`通过`uname -m`命令获取系统的硬件架构(如x86_64)。 14. SELinux状态:`/usr/sbin/sestatus | grep "SELinuxstatus:" | awk '{print $3}'`获取SELinux的状态,如enabled或disabled。 15. 系统运行时间:`uptime | sed 's/.*up\([^,]*\),.*/\1/'`获取系统自启动以来的运行时间。 16. MySQL进程数:`ps -ef | grep mysql | grep -v 'grep' | wc -l`统计正在运行的MySQL服务进程数量。 17. Oracle进程数:`ps -ef | grep ora | grep -v 'grep' | wc -l`统计正在运行的Oracle服务进程数量。 18. `getjiemian`函数:虽然未给出完整代码,但这个函数可能是用于清理输出并展示巡检报告的界面。 通过这个脚本,用户可以全面了解Linux系统的健康状况,及时发现潜在问题,确保系统的稳定运行。同时,它也可以根据实际需求进行定制和扩展,以满足更具体的巡检需求。
# Lnux Check Script
#v0019417
#
dat=`date +%Y-%m-%d`
mem=`free -m |grep "Mem" |awk -F ' ' '{print $2}'`
vers=`cat /etc/redhat-release`
ipp=`ifconfig |grep 'inet addr' |grep -v '127.0.0.1' |awk -F ' ' '{print $2}' |awk -F ':' '{print $2}' |sed -n 1p`
hn=`hostname`
pycpu=`cat /proc/cpuinfo | grep "physical id"|sort | uniq | wc -l`
locpu=`cat /proc/cpuinfo | grep "processor"| wc -l`
centosversion=`awk '{print $(NF-1)}' /etc/redhat-release`
resultfile="/tmp/${hn}_${dat}_${ipp}.txt"
Physical_CPUs=`grep "physical id" /proc/cpuinfo| sort | uniq | wc -l`
Virt_CPUs=`grep "processor" /proc/cpuinfo | wc -l`
CPU_Kernels=`grep "cores" /proc/cpuinfo|uniq| awk -F ': ' '{print $2}'`
CPU_Type=`grep "model name" /proc/cpuinfo | awk -F ': ' '{print $2}' | sort | uniq`
CPU_Arch=`uname -m`
SELinux=`/usr/sbin/sestatus | grep "SELinux status: " | awk '{print $3}'`
uptime=`uptime | sed 's/.*up \([^,]*\), .*/\1/'`
mys=`ps -ef |grep mysql |grep -v 'grep' |wc -l`
ora=`ps -ef |grep ora |grep -v 'grep' |wc -l`
function getjiemian()
{
clear
echo " "
echo " "
echo " "
echo "-- 服务器巡检完毕 !......"
echo "-- 服务器当前日期:${dat}"
echo "-- 主机名:${hn}"
echo " "
echo "========================================================================="
echo "1.内存(总):${mem} MB"
echo "2.操作系统版本:${vers}"
echo "3.IP地址: ${ipp}"
echo "4.物理CPU个数:${pycpu}"
echo "5.逻辑CPU个数:${locpu}"
echo "6.CPU型号:${CPU_Type}"
echo "7.CPU架构:${CPU_Arch}"
echo "8.SELINUX:${SELinux}"
echo "9.系统运行时间:${uptime}"
echo "========================================================================="
sleep 5
}
function getmemstatus()
{
echo ""
echo ""
echo "************************** 内存检查 **************************"
if [[ $centosVersion < 7 ]];then
free -m
else
剩余6页未读,继续阅读
- 粉丝: 36
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++多态实现机制详解:虚函数与早期绑定
- Java多线程与异常处理详解
- 校园导游系统:无向图实现最短路径探索
- SQL2005彻底删除指南:避免重装失败
- GTD时间管理法:提升效率与组织生活的关键
- Python进制转换全攻略:从10进制到16进制
- 商丘物流业区位优势探究:发展战略与机遇
- C语言实训:简单计算器程序设计
- Oracle SQL命令大全:用户管理、权限操作与查询
- Struts2配置详解与示例
- C#编程规范与最佳实践
- C语言面试常见问题解析
- 超声波测距技术详解:电路与程序设计
- 反激开关电源设计:UC3844与TL431优化稳压
- Cisco路由器配置全攻略
- SQLServer 2005 CTE递归教程:创建员工层级结构