如何让 Ubuntu 9.10 桌面系统在启动时自动将其 IP 地址通过电子邮件发送到列表?

如何让 Ubuntu 9.10 桌面系统在启动时自动将其 IP 地址通过电子邮件发送到列表?

标题问题说明了一切。我构建了一台运行 Ubuntu 9.10 Desktop (AMD 64) 的机器,需要它在启动时将其 IP 地址通过电子邮件发送到电子邮件地址列表。

答案1

当网络接口启动时,脚本/etc/network/if-up.d就会运行。执行脚本时会提供许多环境变量,包括 IP 地址和其他网络参数。编写一个 if-up 脚本发送包含所需信息的电子邮件应该非常容易。

我认为动态 DNS 更新可能更有用然后发送一封电子邮件,但也许您还有一些未提及的原因。

这是我的一个旧脚本,它所做的事情与你想要的接近。

/etc/default/if_notify

# interface definitions
IF_OUT='eth0'
EMAIL_OUT='[email protected]'
MSG_OUT_UP='outside interface is up. Address is:'

/etc/network/if-up.d/if_notify

#!/bin/bash

[ ! -x /etc/default/if_notify ] || exit 0

. /etc/default/if_notify

NAME=`hostname -f`

if [ "$IFACE" = "$IF_OUT" -a "$MODE" = "start" ] ; then
    if [ "$IF_IN" -a "$MSG_OUT_UP" -a "$EMAIL_OUT" ] ; then
        IFACE="outside"
        MSG="$MSG_OUT_UP $IF_ADDRESS"
        ADDR="$EMAIL_OUT"
    fi
fi

if [ "$IFACE" -a "$MSG" -a "$ADDR" ] ; then
    echo -e "From:root@$NAME\nTo:$ADDR\nSubject:[IFNOTIFY] Interface $IFACE up on $NAME\n$MSG" \
            | sendmail -f root "$ADDR"
fi

相关内容