每当有人连接存储设备时都会收到邮件通知

每当有人连接存储设备时都会收到邮件通知

我工作的环境是基于 Linux 的,有 100 多台服务器。每当有人连接存储设备时,我都需要收到邮件通知和弹出通知。我该如何配置?

答案1

最简单的方法是使用 cronjob 监控 /var/log/syslog 中的单词“mount”。此示例每 10 分钟运行一次。

#!/bin/bash
# Gets the time and date 1 minute ago (00:00 would return 23:59 previous day)
TIME=`date +"%b %d %H:%M" --date '-1 min'`
# Truncate the minutes
TIME=${TIME::-1}

# Gets the past 10 minutes of logs and looks for 'mount'
MOUNT=`grep "$TIME" /var/log/syslog | grep mount`

if [ {{ '${#MOUNT}' }} -ge 1 ]; then
    echo -e "$MOUNT" | sendemail -t {{ email_address }} -f {{ from_address }} -u "$(hostname) Mount Detected" -s {{ smtp_server }} > /dev/null
fi

确保日期格式与日志中的格式匹配。您可以使用任何您想要的 sendmail 命令。如果您想要每分钟一次,只需删除时间截断行。如果您想要立即发送,则需要监视udisksctl monitor输出。发送电子邮件后,您可以将任何电子邮件通知用于弹出窗口。

相关内容