私は私の仕事について賢く努力しています。メッセージは、私が決して使用しなかった「メール」を介して電子メールで送信するように努めています。しかし、数年前には、ポップアップテキストボックスを介して画面に直接警告を送信するのに十分賢い思い出があります。これをやり直す方法を理解しようとしています。 "screen"コマンドに関するメッセージが私を混乱させます。 tmuxも同様です。それとも通知かもしれないと思いました。数週間作業する時間がある場合はメールを動作させますが、今はポップアップメッセージを好みます。
==================================================
"smartd.conf"から:
DEVICESCAN -a -m <nomailer> -M exec notify -M test
...良い、フルパスを追加しました。はるかに良いです。
DEVICESCAN -a -m <nomailer> -M exec /bin/notify -M test
..."notify"はCLIでうまく機能し、実行可能なスクリプトです。
/bin/notify-send "$(systemctl status smartd)"
...しかしそれにもかかわらず:
systemctl restart smartd; systemctl status smartd
...エラーは報告されず、「テスト」結果も出ません。
しかし、これまでに述べた変数を使用した結果はありません。
...
$smartd... 両方のディスクに1つずつ2つの通知を表示します!それでは、「systemctl restart smartd」に何も表示されないのはなぜですか?
答え1
notify-send
特別な郵便が必要です:
まず、次のスクリプトを作成します。
#!/bin/sh
/usr/bin/notify-send "$SMARTD_DEVICESTRING" "$SMARTD_MESSAGE"
次に、ドライブテストの説明のsmartd.confに以下を追加します。
-m <nomailer> -M exec /path/script
これは、渡されたように私たちが完全に依存しているスクリプトを<nomailer>
知らせる特別なアドレスです。問題に関するすべての情報を環境変数セットに入れ、スクリプトを実行します(パラメータなし、標準入力なし)。スクリプトがいくつかの印刷を実行すると、標準出力はに移動します。smartd
-M exec
smartd
syslog
追加資料:man 5 smartd.conf
答え2
White Owlの答えから始めて、私が間違っているのは次のとおりです。
スクリプト「通知」:
#!/bin/zsh
/usr/bin/notify-send "$SMARTD_DEVICESTRING" "$SMARTD_MESSAGE"
...うまく動作します。ただし、実行可能にするには「chmod +x」でなければなりません。 '/etc/smartd.conf'のアクティブライン:
DEVICESCAN -a -m <nomailer> -M exec /aWorking/Zsh/System/notify -M test
...システムパスにある場合は、「通知」が見つかると仮定しましたが、いいえ、正確なリテラルパスを提供する必要があります。これが最も時間がかかることです。
$ systemctl restart smartd
...何らかの理由でスクリプトを有効にせずに次のことを行う必要があります。
$ smartd
...そして期待通りに始まります。ディスクごとに1つのメッセージ。
問題ない。