标题问题说明了一切。 我已经构build了一台运行Ubuntu 9.10 Desktop(AMD 64)的机器,并且需要它在每次启动时将其IP地址发送到一个电子邮件地址列表。
当networking接口启动时,运行/etc/network/if-up.d中的脚本。 当脚本执行时,会提供许多环境variables,包括IP地址和其他networking参数。 编写一个if-up脚本应该很容易,它会发送一封包含所需信息的电子邮件。
我认为做一个dynamic的DNS更新可能会更有用,然后一个电子邮件,但也许你有一些你没有提到的原因。
这是一个老的剧本,我做了一些接近你想要的东西。
在/ etc /默认/ 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