Linux篇 shell指令碼監控主機狀態的3種方式

2021-09-29 12:59:07 字數 1400 閱讀 1687

01 前言

shell的基礎語法學習告了一段路,現在開始實際操作練習,今天記錄的是shell指令碼的經典題目

監控主機或ip的狀態,並給出提示,如以下背景:

編寫指令碼判斷以下4個主機的狀態

181.137.128.1

182.137.128.2

181.137.128.8

181.137.128.10

02 指令碼實現過程

(一)版本一

這裡需要總結幾個知識點:

1、ping 命令:

ping -c 1:-c代表制定ping的次數,ping -c 1 意思是ping1次

此外常用的幾個引數這裡也一併了解一下:

-i : 設定間隔幾秒傳送乙個ping包,預設一秒ping一次

-w: 以毫秒為單位設定ping的超時時間

-w deadline: deadline(最後期限)

來看看以下例子

ping -c 2 -i 0.3 181.137.128.32

以 0.3s 的間隔 ping 181.137.128.132 總共ping2次

2、break 跳出迴圈

break命令:break命令允許跳出所有迴圈(終止執行後面的所有迴圈)。

continue命令:與break相似,但是不同的地方是,它不會跳出所有迴圈,僅僅跳出當前迴圈

3、陣列取元素

使用@ 或 * 可以獲取陣列中的所有元素

如以下例子:

#!/bin/bash

# author:菜鳥教程

# url:www.runoob.com

my_array[0]=a

my_array[1]=b

my_array[2]=c

my_array[3]=d

echo "陣列的元素為: $"

echo "陣列的元素為: $"

陣列的元素為:a b c d

陣列的元素為:a b c d

獲取陣列長度的方法/ 獲取字串長度的方法相同

echo "陣列元素個數為: $"

echo "陣列元素個數為: $"

陣列元素個數為: 4

陣列元素個數為: 4

(二)版本二

(三)版本三

03 事後總結

多嘗試,多練習,實踐出真知

使用shell指令碼監控Linux主機

root localhost cat sysmon.sh bin bash dug df h g rep df h grep df h grep awk awk f at position 2 1 cug expr 100 mpstat tail 1 awk awk f.at position 2 ...

使用 shell 指令碼監控 Linux 主機

編寫以下指令碼命令 root localhost sh vim sysmon.sh bin bash 提取效能監控指標 磁碟占用 cpu使用 記憶體使用 dug df h grep awk awk f cug expr 100 mpstat tail 1 awk awk f.mug expr fre...

使用 shell 指令碼監控 Linux 主機

編寫以下指令碼命令 root localhost sh vim sysmon.sh bin bash 提取效能監控指標 磁碟占用 cpu使用 記憶體使用 dug df h grep awk awk f cug expr 100 mpstat tail 1 awk awk f.mug expr fre...