У меня есть динамический сценарий DNS следующим образом:
#!/bin/bash
curl -kL# "http://example.com/updatedns.php"
echo $? >> /var/log/ddns
... сохранен в / usr / local / bin / ddns. Очевидно, что приведенный выше URL-адрес не тот, который я на самом деле использую, но он предназначен для установки записи A моего домена в IP-адрес компьютера, который его запросил. Я подтвердил, что он был chmodded и запускается из командной строки, однако Upstart, который был настроен с помощью следующего скрипта:
start on network started
exec /usr/local/bin/ddns
... не выполняет его при запуске сети ( что я предполагаю, когда машина загружается или я подключаю сетевой шнур).
grep 'emit' /etc/network/if-up.d/upstart -a5
Предлагает вам, вероятно, использовать start on net-device-up
.
Если у вас более одного устройства det (и у всех нет шлюзов), вы можете добавить аргумент в конец, например, так:
Традиционным (до запуска и все еще работающим) методом было размещение сценариев в каталоге /etc/network/if-up.d
.
Обратите внимание, что в Ubuntu есть предварительно упакованные сценарии обновления DynDNS: я вижу dyndns
, ddclient
, inadyn
, ez-ipupdate
и ipcheck
, упакованные в Ubuntu. Все должно работать :)