smartd 输出到屏幕,而不是电子邮件

smartd 输出到屏幕,而不是电子邮件

我正在努力让工作变得聪明;确定消息将通过我从未使用过的“邮件”通过电子邮件发送。但我记得几年前我曾聪明地通过弹出文本框将警告直接发送到屏幕。我正试图弄清楚如何再次做到这一点。 “屏幕”命令的信息让我感到困惑。 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 ... 显示两个通知,一个针对我的两个磁盘!那么为什么“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 execsmartd会将有关问题的所有信息放入环境变量集中并运行脚本(无参数,无标准输入)。如果脚本执行一些打印输出,其标准输出将转到syslog.

如需补充阅读:man 5 smartd.conf

答案2

这是我做错的事情,从白猫头鹰的回答开始:

脚本“通知”:

#!/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

...然后它就会按预期启动。每个磁盘一条消息。

都好。

相关内容