Shell 脚本实现 Linux 系统监控

本文介绍了如何利用Shell脚本实现Linux系统的监控,包括查看内存、磁盘、CPU占用率和内核版本等基本命令,同时讲解了Shell脚本编程中的注意事项,如命令返回值的保存和参数处理。此外,还提供了脚本实现的具体步骤,包括添加到环境路径、查看版本和帮助信息的编写,以及如何监控和打印系统状态。
摘要由CSDN通过智能技术生成

一、主要命令介绍

  • 查看内存(free)
  • 查看内存(free)
  • 查看磁盘(df)
  • 查看cpu占用率(top)
  • 查看内核版本(uname)

这些命令是linux管理员必须耳熟能详的基本命令,系统监控脚本是根据这些命令的返回值做处理,然后打印在终端的。

 Linux命令详解请查看 http://man.linuxde.net/

二、shell编程注意

  • `` 用法 这个符号可以保存命令的返回值,如
 PATH=`pwd` #也可以写成 PAHT=$(pwd)
 echo $PATH
 #输出pwd命令的值,也就是当前路径

  • 参数说明
    $1表示第一个参数,$2 表示第二个参数,$#表示参数个数

如果读者对于这些不熟悉,要先学习高级Bash脚本编程指南,其中shell的基本语法

三、实现系统监控脚本

     打开终端,进入Code目录,创建文件tecmint_monitor.sh。 getopts:可以获取用户在命令下的参数,然后根据不同的参数进行不同的操作。它的使用方法是getopts option_string variable,option_string 是指字符串,会逐个匹配,variable 每次匹配成功的选项。

#! /bin/bash
while getopts ivh name # getopts 有三个参数,分别执行安装,查看版本,帮助说明
do
        case $name in
          i)iopt=1;;
          v)vopt=1;;
          h)hopt=1;;
         *)echo "Invalid arg";;
        esac
done

这个脚本主要有 -ivh 三个参数,分别执行安装脚本,查看版本,帮助说明,你也可以添加自己想要的参数。如果不加参数,默认执行系统的监控命令并打印到屏幕上。

这个部分主要是将脚本添加到环境的目录里,通过终端就可以执行命令。

if [[ ! -z $iopt ]] #如果iopt非空则执行
then
{
wd=$(pwd)
basename "$(test -L "$0" && readlink "$0" || echo "$0")" > /tmp/scriptname
#basename命令会删掉所有的前缀包括最后一个slash(‘/’)字符,然后将字符串显示出来
scriptname=$(echo -e -n $wd/ && cat /tmp/scriptname)
#scriptname就是tecmint_monitor.sh的地址
su -c "cp $scriptname /usr/bin/monitor" root && echo "Congratulations! Script Installed, now run monitor Command" || echo "Installation failed"
}
fi

安装脚本

 

这个部分是查看脚本的版本,版权等信息。

if [[ ! -z $vopt ]]
then
{
echo -e "tecmint_monitor version 0.1\nReleased Under Apache 2.0 License"
}
fi

1-3.2-1

这个部分是添加帮助信息,方便其他人使用

if [[ ! -z $hopt ]]
then
{
echo -e " -i       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值