シェルスクリプト(ディスク容量、サービスステータス)

1. 現在のディスク残量が 20G であるかどうかを確認し、20G 未満の場合は、管理者に警告メールが送信され、1 日に 1 回ディスク残量がチェックされます。

ステップ 1: 次のように、shell1.sh という名前のスクリプトを作成します。

vim shell1.sh

ステップ 2: 計画を立てる shell1 ファイル内のコマンドは次のとおりです。

#!/bin/bash
test1=`df -m | grep -w "/" | tr -s " " | cut -d " " -f4`
str1="您最近磁盘小于20G,请及时查看"
if [ "$test1" -lt 20000 ]
then    
        echo "$str1" | mail -s "$str1" [email protected]
fi      

ステップ 3: メールボックス ファイルの送信を変更し、ファイルを送信してみます

vim /etc/s-nail.rc

pass: 次の状況が発生した場合: Alibaba Cloud サーバーであるため、ポート 25 がブロックされる可能性があり、代わりにポート 465 を使用する必要があるため、構成コンテンツの smtp 構成にポートを追加することに注意してください。

set smtp=smtp.exmail.qq.com:465

ステップ 3: サービスをインストールする

yum install postfix  s-nail

  ステップ 4: 管理者の電子メールに送信してみる

 echo "test 1" |s-nail -s "title" [email protected]

 ステップ 5: 検出して実行を試行する

ファイルにアクセス許可を追加し、ファイルを実行します

chmod +x shell1.sh
./shell1.sh

2. Web サービスが実行されているかどうかを確認します (1. プロセスをチェックしてプログラムが実行されているかどうかを確認します。2. ポートを確認してプログラムが実行されているかどうかを確認します)。実行されていない場合は、サービスを開始し、ファイアウォール ルールを構成します。

ステップ 1: httpd サービスを追加する

yum install httpd  -y 

ステップ2: スクリプトshell2.shを作成する

vim shell2.sh

プロセス判断:


#!/bin/bash

num=$(ps -ef | grep httpd | grep -v grep | wc -l)
if [ $num -ge 1 ]
then
        echo"httpd is running"
else
        systemctl restart httpd
        systemctl stop firewalld
fi

ステップ 3: サービスをテストする

 

 ステップ 4: スクリプト内のポートを変更する

ポート判定:

ステップ 5: サービスをテストする

 3. 2番目の質問のWebサービスにcurlコマンドでアクセスし、正常にアクセスできるかどうかを確認し、正常にアクセスできた場合はWebサーバーが実行中であることを返し、正常にアクセスできなかった場合はステータスコードは12。

ステップ 1: 次のように shell3.sh ファイルを作成します。

#!/bin/bash

curl -s 192.168.170.128 > /dev/null
if [[ $? = 0 ]]
then
        echo " web server is runnning "
else
        exit 12
fi
~               

ステップ 2: テスト

おすすめ

転載: blog.csdn.net/m0_68976043/article/details/130550895