среда, 30 декабря 2009 г.

Динамический айпи уведомления

Купил на днях ноутбук и установил на него ubuntu 9.10
А так как ноут будут юзать на АДСЛ-соединении с динамическим айпи
нужно как-то выяснять какой айпи подцепил роутер.
За пару минут накалякал скрипт

cat /home/user/mailip.sh
#!/bin/sh
# получился ли адрес или что-то с сервером
[ $? -eq 0 ] && RESULT="Получено" || RESULT="Сервер недоступен"

# То что в кавычках заменить на свой адрес
MAIL_ADDR="МЫЛО@gmail.com"

IP="$(curl -s http://checkip.dyndns.org/ | grep -o "[[:digit:].]\+")"
#curl -s http://checkip.dyndns.org/ | grep -o "[[:digit:].]\+"
echo ${IP} ${RESULT} | mail -s "IP thats" $MAIL_ADDR 


Итак этот скриптик отправляет мне на мыло письмо с внешним айпи.
Теперь нужно процесс автоматизировать
cd /etc/cron.d/
nano -w mailip
# Global variables
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
1 */4 * * * root /bin/bash /home/user/mailip.sh
#*/1 * * * * root ifconfig eth0 >/tmp/testcron.log
Теперь поясню что значит это все.
Я добавил в демон крона запись
стартовать мой скрипт кажду первую минуту четвертого часа
#*/1 * * * * root ifconfig eth0 >/tmp/testcron.log
А вот это применял для тестирования демона cron
пишет вывод ifconfig eth0 каждую минуту каждого часа

Ну вот вуаля ко мне на почту приходят сообщения с айпи.
п.с.
Чтобы почта уходила я использовал ssmtp
Я раньше выкладывал как нужно правильно настраивать его.

3 комментария:

  1. привет, в дебиане и убунту после поднятия интерфейса (читай мануал по /etc/network/interfaces), можно запустить скрипт. таким образом, скрипт будет слать айпи лишь один раз. если его прописать грамотно - то только в случае, когда айпишка действитерльно изменилась, множество провайдеров адсл'а тебе ведь предостаявляют одну и ту же айпишку многие месяцы.

    ОтветитьУдалить
  2. У меня провайдер ЦТК, и айпи там стабильно меняется раз в сутки.

    ОтветитьУдалить
  3. Да и забыл добавить, что ноут стоит за роутером, так что у ноута адрес всегда один и тот же 192.168.0.111
    демон дебиановский отсылает именно этот айпи а не айпи шлюза:)

    ОтветитьУдалить