0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Speedtestコマンドを用いた速度監視スクリプト

Posted at

速度監視スクリプト

サーバーとインターネット環境の速度監視を行うスクリプトになります。
速度監視はspeedtestコマンドを使用します。

スクリプトの概要

  • speedtestコマンドの結果から速度を取得する
  • 閾値を下回った場合、計測した速度をメール本文に載せて送信する
    • メール送信は、sendmailコマンドを使用します
    • sendmailコマンドの設定は調べてください
  • 定期監視する場合は、cronで定期実行すれば良いです
    • ただし、頻繁に速度監視しないほうがよいです。(他の利用者の迷惑になるので)

スクリプトの内容

#!/bin/sh

srtFrom="From: aaa@xxx.xxx" # 送信元のメールアドレスを設定
srtTo="To: bbb@yyy.yyy" # 送信先のメールアドレスを設定

DOWNLOAD_TH=150 # ダウンロードの閾値(これを下回る場合はメールを送信)
UPLOAD_TH=150 # アップロードの閾値(これを下回る場合はメールを送信)

result=`speedtest --simple --secure`
downloadSpeed=`echo $result | sed -e 's/^.*Download: \(.*\) Mbit\/s Upload: \(.*\) Mbit\/s/\1/g'`
uploadSpeed=`echo $result | sed -e 's/^.*Download: \(.*\) Mbit\/s Upload: \(.*\) Mbit\/s/\2/g'`

flagNG=0

result1=`echo "$downloadSpeed > $DOWNLOAD_TH" | bc`
if [ $result1 -eq 1 ]; then
  #echo "DownloadSpeed, OK!"
  :
else
  #echo "False DownloadSpeed, NG!"
  flagNG=1
fi

result2=`echo "$uploadSpeed > $UPLOAD_TH" | bc`
if [ $result2 -eq 1 ]; then
  #echo "UploadSpeed, OK!"
  :
else
  #echo "False UploadSpeed, NG!"
  flagNG=1
fi

echo $downloadSpeed > /opt/my/chkSpeed/downloadSpeed.txt
echo $uploadSpeed > /opt/my/chkSpeed/uploadSpeed.txt

if [ $flagNG -eq 1 ]; then
    filename=$(date '+%F')chkSpeed_errors_text_ksofda.txt # 適当な一時ファイル名を指定

    srtSubject="Subject: Communication speed with the Internet is slowing down"
    srtText="$(date),DownloadSpeed: $downloadSpeed Mbit/s,UploadSpeed: $uploadSpeed Mbit/s"
    touch /tmp/$filename
    echo $srtFrom >> /tmp/$filename
    echo $srtTo >> /tmp/$filename
    echo $srtSubject >> /tmp/$filename
    echo >> /tmp/$filename

    IFS_BACKUP=$IFS
    IFS='
'
    i=0
    for L in $srtText
    do
        i=`expr $i + 1 `
        echo $L >> /tmp/$filename
    done
    IFS=$IFS_BACKUP

    /usr/sbin/sendmail -t < /tmp/$filename
    rm /tmp/$filename
fi

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?