Linuxでのストレージマウント状況を定期的にDiscordで受け取る
- 2023.01.15
- ソフトウェア
- Discord, Raspberry Pi, ソフトウェア
Raspberry Piに繋いでいるHDDがたまに何故か切断されていることがあるので、接続状況を定期的にログとして残すことで切断に気がつけるようにしようという記事です。
Advertisement
Discordの準備
Discordに通知を送るためにDiscord側の準備が必要なので、上の記事のWebhookの作成までを行ってください。
シェルスクリプトの作成
text=$(df -h | grep /mnt/hdd)
if [ -n "$text" ]; then
size=$(echo "$text" | awk '{print $2}')
used=$(echo "$text" | awk '{print $3}')
rate=$(echo "$text" | awk '{print $5}')
mount=$(echo "$text" | awk '{print $6}')
curl -H "Content-Type: application/json" -X POST -d "{\"username\": \"MountCheck\", \"content\": \"Size=${size} Used=${used} Use%=${rate}\"}" ここにWebhookURL
else
curl -H "Content-Type: application/json" -X POST -d "{\"username\": \"MountCheck\", \"content\": \"ストレージが切断されています\"}" ここにWebhookURL
今回はこのように記述しました。なお、/mnt/hddには外付けHDDがマウントされています。
HDDが接続されている場合は”Mount=/mnt/hdd Size=7.3T Used=6.0T Use%=83%”のようにメッセージがDiscordに送信され、接続されていない場合は”ストレージが切断されています”と送信されます。
crontab -e
0 */1 * * * /bin/bash /hoge/hoge/MountCheck.sh
あとはcrontabで定期的に実行するように設定すればOKです。私は1時間毎にチェックしています。
Advertisement
これで何故か外付けHDDが切断されていたとしても1時間以内に反応することができます。
-
前の記事
EPGStationの録画完了通知をDiscordで受け取る 2023.01.14
-
次の記事
TaskerでDiscordのWebhookを利用する 2023.01.16