ヘッドレスLinuxサーバー用のハードドライブモニタースクリプト

Jan 25, 2025
メンテナンスと最適化

最新のハードドライブには、S.M.A.R.Tと呼ばれる内部メカニズムがあります。これにより、ハードディスクに障害が発生する時期を知ることができます。そのような失敗の前にあなたに電子メールを送るのはサーバーにとって素晴らしいことではないでしょうか?

概要概要

「mdadm」(ソフトウェアRAID管理用)や「PalimpsestDisk Utility」(Ubuntu LiveCDで使用)などのプログラムは、S.M.A.R.T情報を使用して、ディスクが故障しそうなとき、または故障したときに通知します。ただし、ヘッドレスサーバー(GUIなし)では、手遅れになる前に保留中の運命を通知するサービスはありません。さらに、サーバーに手動でログインせずに、どのようにしてそれを知ることができますか?

このスクリプトは、cronを使用して1日1回実行すると、システムのハードドライブの不良セクタ数のいずれかが「ディスクが不良」のしきい値よりも意図的に低い制限に達した場合に警告し、警告をマシンの管理者に電子メールで送信します。

前提条件と前提条件

  • 「」を使用してサーバーの電子メールサポートをすでに設定しています LinuxでEメールアラートを設定する方法 」ガイド。
  • Debianベースのシステムを使用しています。
  • *ハードウェアRAIDコントローラーを使用していません。
  • 私がVIMをエディタプログラムとして使っているのがわかるでしょう。これは私が慣れているからです…他の好きなエディタを使ってもかまいません。

*ハードウェアRAIDコントローラーがシステムによるこの情報へのアクセスをブロックする可能性が非常に高いため。

セットアップ

ハードドライブコントローラーからS.M.A.R.T情報を読み取り、それを提示する「smartmontools」パッケージをインストールします。

sudo aptitude install smartmontools

モニタースクリプトを作成します。

sudo vim /root/smart-monitor.sh

これをコンテンツにします。

#!/ビン/バッシュ
########メール機能########
email_admin_func()

echo "宛先:[email protected]"> $ temp_email_file
echo "From:[email protected]" >> $ temp_email_file
echo "件名:S.M.A.R.Tモニターのしきい値に違反しました" >> $ temp_email_file
エコー "" >> $ temp_email_file
echo -e $ 1 >> $ temp_email_file
/ usr / sbin / ssmtp -t <$ temp_email_file
echo "管理者にメールを送信しました"

smartc_func()

/ usr / sbin / smartctl -A / dev / $ 1 | grep Reallocated_Sector_Ct | tr -s '' | cut -d '' -f11

########関数の終了########

########作業パラメータを設定する########
temp_email_file = / tmp / smart_monitor.txt
allowed_threshold = 5#一緒に住むことをいとわない不良セクタの量を設定します。推奨5。

########エンジン########
sdasdbのiの場合; do#セットアップに応じて、このリストからディスク名を追加または削除します。
[[ "`smartc_func $i`" -ge $allowed_threshold ]の場合];その後
管理者に電子メールを送信するecho
email_admin_func "" `hostname`"のHDの1つがしきい値の上限に達しました!!! nしきい値は$ allowed_thresholdに設定され、$ iディスクのステータスは "` smartc_func $ i` ""でした。
されます
完了

注意すべき重要なポイントは次のとおりです。

  • メール機能–マシン名や管理者のメールなどの適切な情報を設定します。
  • 許可されるしきい値–このパラメーターを適切と思われる値に設定します。使用した「サーバーグレード」のハードドライブに設定された制限が10だったため、5を使用しました(「コンシューマーグレード」のドライブのしきい値は140まで高くする)。
  • 「for」ループでディスク名の列挙を調整して、監視するデバイスを設定します。現在、2つのディスク(sdaとsdb)が含まれているため、セットアップに合わせて調整してください。何らかの理由でディスクを*除外する必要がある場合は、すべてのディスクを含めることも、一部だけを含めることもできます。

*私の元の設定では、最初のディスクはフラッシュドライブだったので、可能な限りその情報を読み取ることはあまり役に立ちません。

スクリプトを実行可能にします。

すど chもd +x /ろおt/sまrtーもにとr。sh

セットアップが完了しました。

スクリプトが自動的に実行されるようにスケジュールします

スクリプトを自動的に実行して、新しいCronジョブを作成します。
LinuxでEメールアラートを設定する方法 」は、そうすることの結果を導きます。スクリプト自体でエラーが発生した場合、cronは、エラーが発生するとすぐに電子メールで自動的に通知します。

cronジョブスケジューラを開きます。

すど cろんたb ーえ

これをコンテンツに追加します。

0 7 * * * /ろおt/sまrtーもにとr。sh > /tmp/ぁst_sまrt_もにとr_るん。ぉg

これにより、スクリプトが毎朝午前7時に実行されるように設定されます。


あなたのセクターはすべて私たちのものです:)

Raspberry Pi Box Hard Drive Scripts


メンテナンスと最適化 - 最も人気のある記事

Chromebookを更新する方法

メンテナンスと最適化 May 16, 2025

ChromeOSは 6週間ごとのメジャーアップデート 、セキュリティパッチがより頻繁に提供されます。通常、アップデートはバッ�..


macOS通知を受け取らない?これを修正する方法は次のとおりです(再起動せずに)

メンテナンスと最適化 Apr 17, 2025

未取得のコンテンツ Macで不思議なことに通知が表示されなくなった場合は、Macを再起動すると問題が解決する可能性があります。た�..


PCからの音を録音する方法(ステレオミックスがなくても)

メンテナンスと最適化 Jan 25, 2025

音声を録音するために、コンピューターのスピーカーにマイクをかざす必要はありません。 PCにステレオミックスオプションがない場�..


Androidの「サイレント」通知とは何ですか?

メンテナンスと最適化 Sep 14, 2025

シナリオは次のとおりです。スマートフォンを手に取っても、通知バーに何も表示されません。しかし、あなたは日陰を引き下げます�..


Windowsの一時フォルダを別のドライブに移動する方法

メンテナンスと最適化 Dec 21, 2024

システムドライブのスペースを節約しようとしている場合(たとえば、スペースが不足しているソリッドステートドライブがあ�..


Wordで一度に複数のドキュメントを表示する方法

メンテナンスと最適化 Jun 30, 2025

複数のWord文書で作業している場合は、それらの一部またはすべてを一度に表示すると便利な場合があります。複数のドキュメントを表..


スマートフォンとコンピューターの気が散る通知をすべて最小限に抑えて正気を保つ

メンテナンスと最適化 Feb 14, 2025

未取得のコンテンツ スマートフォンやコンピューターは通知を生成するマシンです。すべてのアプリは、常にpingを実行し、作業を中..


WindowsでSMPlayerを使い始める(映画を上手に再生するため)

メンテナンスと最適化 Feb 16, 2025

世の中にはたくさんのビデオプレーヤーがありますが、私たちが見落としていると思うのはSMPlayerです。映画の途中で中断された場合に備えて..


カテゴリ