Заглавный вопрос говорит само за себя. Я построил машину под управлением Ubuntu 9.10 Desktop (AMD 64), и мне нужно, чтобы она отправляла свой IP-адрес по электронной почте на список адресов электронной почты при каждом запуске.
При запуске сетевого интерфейса скрипты в /etc/network/if-up.d
бегут. При выполнении сценариев предоставляется множество переменных среды, включая IP-адрес и другие параметры сети. Вам должно быть очень легко написать сценарий if-up, который отправляет электронное письмо с нужной вам информацией.
Я думаю, что делаю динамическое обновление DNS, вероятно, было бы более полезным затем электронное письмо, но, возможно, у вас есть причины, о которых вы не упомянули.
Вот старый сценарий, который у меня был, он сделал что-то похожее на то, что вы хотите.
/ и т.д. / по умолчанию / if_notify
# interface definitions
IF_OUT='eth0'
EMAIL_OUT='user@example.org'
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