由于 Ubuntu 16.04 现已正式支持 ZFS,因此我想为我的 ZFS 池启用电子邮件通知。以下是我到目前为止采取的步骤,但目前我陷入了困境:
- 已安装 msmtp 并将其设置为成功与外部 gmail 帐户配合使用。
- 取消注释并配置 /etc/zfs/zed.d/zed.rc
- 设置 ZED_NOTIFY_VERBOSE=1
- 运行 zpool scrub 期望收到 clean scrub 的通知,但没有发送电子邮件
这是我能找到的唯一一篇与 ZFS/ZED 配置相关的帖子,但我无法让它工作: http://louwrentius.com/the-zfs-event-daemon-on-linux.html
更新:Mumblepins 和 Martin 的回应都促成了修复。以下是实现此目的所需的完整步骤:
- 安装 msmtp 并将其设置为与外部电子邮件帐户(gmail 或其他)配合使用
- 安装 s-nail 和 msmtp-mta 包,将 msmtp 映射到 mail 命令
- 取消注释并配置 /etc/zfs/zed.d/zed.rc(保留 ZED_EMAIL_PROG="mail")
- systemctl 启用
答案1
我在尝试设置时发现了您的帖子,我所做的操作是:
- 取消注释并配置
/etc/zfs/zed.d/zed.rc
- 在文件中设置 ZED_NOTIFY_VERBOSE=1
/etc/zfs/zed.d/zed.rc
- 启用 zed 守护进程:
systemctl 启用
运行擦洗并且它起作用了!
请注意,如果服务已在运行,您将收到错误:
无法启用单元:拒绝对链接单元文件 zed.service 进行操作。
在这种情况下,只需重新启动它:
systemctl 重启 zed
答案2
默认的 zed.rc 文件使用mail
客户端的命令行语法,允许在命令行中使用主题行。 msmtp
仅在 STDIN 中有主题。因此,如果您在 msmtp 的 zed.rc 中使用命令行,则需要删除-s subject
命令的一部分。否则,如果安装了 msmtp-mta,您可以mail
在 zed.rc 中用作客户端,并且邮件将使用 msmtp