Есть ли способ заставить ddclient запустить какой-нибудь скрипт при успешном обновлении? У клиента без IP есть эта функция, но я должен использовать службу dyndns.
Заранее спасибо.
Эта страница говорит, что вы можете настроить параметр postscript в ddclient.conf
:
postscript=/usr/local/sbin/do-it-after-ddclient-change.sh
IP указывается в качестве аргумента. Для Asterisk мне нужно, чтобы (измененный) общедоступный IP-адрес был активен немедленно, чтобы Asterisk могла определить его внешний IP-адрес. Я добился этого, отредактировав файл / etc / hosts с помощью сценария публикации. Замените sip.foo.net своим собственным.
#!/bin/sh
#
# Update hosts file with changed IP
#
IP=$1
D=sip.foo.net
DOMAIN=`echo "$D" | sed 's/\./\\\\./g'`
sed -i_bak -e "/[\t]$DOMAIN/d" /etc/hosts
echo "$IP\t$D" >>/etc/hosts
Я не использовал эту опцию, но ddclient есть опция постскриптума. Согласно документации, ddclient запустит сценарий, указанный в опции postscript, передав новый IP-адрес. Заглянув в Perl-код ddclient, скрипт вызывается через система ().