Назад | Перейти на главную страницу

Как заставить настольную систему Ubuntu 9.10 автоматически отправлять свой IP-адрес по электронной почте в список при запуске?

Заглавный вопрос говорит само за себя. Я построил машину под управлением 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