Shell 脚本实现 Linux 系统监控

实验楼学习笔记。

任务

实现 shell 脚本监控系统的各项参数,并可以将脚本加入系统环境中,可以直接在终端里执行。还添加了几个参数,一个脚本可以执行不同的操作。

涉及知识点

  • Bash 脚本编程

  • 如何获取 Linux 系统信息

  • 如何实时获取 Linux 资源使用率

准备环节

  • vim编辑器

  • shell解释器(linux自带)

要实现的功能需求

  • 通过脚本查看系统的使用情况,实现对linux的系统监控。

  • 将写好的脚本加入系统环境,开启终端即可使用

  • 给脚本添加参数,可以实现不同的操作。

     


1、主要命令

☆ 查看内存 ------- free

☆ 查看磁盘 ------ df

☆ 查看内核版本 ------ uname

☆ 查看CPU占有率 ------- top

 

联系: 根据这些命令的返回值做处理,然后打印在终端。

 

1.1shell编程注意

’ ‘ 用法 这个符号可以保存命令的返回值。

'''

PATH=’pwd‘ # 也可以写成 PATH =$(pwd)

echo $PATH # 输出pwd命令的值,即当前路径

 

'''

  • 参数说明

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

     


开始实验

☆ point:

☆getopts 可以获取用户在命令下的参数,然后根据不同的参数进行不同的操作。

如:

getopts option_string variable

(option_string 是指字符串,会逐个匹配,variable 每次匹配成功的选项)

+ 1 脚本例子

'''

#! /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 三个参数,分别执行安装脚本,查看版本,帮助说明。当然也可以添加自己想要的参数。如果不添加,默认执行系统的监控命令并打印到屏幕上。

 

+2 脚本添加环境目录

'''

if [[ ! -z $iopt ]] #如果iopt非空就执行

then

{

wd =$(pwd)

basename "$(test -L "$0" && readlink "$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

'''

上面这个代码是对参数i 的模块的实现

 

接下来是对参数v的模块:

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

 

if [[ ! -z $vopt ]]

then

{

echo -e "tecmint_monitor version 0.1\n Released Under Apache 2.0 License"

}

fi

 

下面是有关参数h的模块:

(这个部分可以添加帮助信息,方便其他人使用)

if

  • 0
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值