Upstart не запускает мой динамический DNS-скрипт

У меня есть динамический DNS-скрипт следующим образом:

#!/bin/bash
curl -kL# "http://example.com/updatedns.php"
echo $? >> /var/log/ddns

... сохранен в / usr / local / bin / ddns. Очевидно, что вышеприведенный URL не тот, который я использую, но URL-адрес предназначен для установки записи A моего домена на IP-адрес запрашиваемой машины. Я подтвердил, что он был chmodded и работает из командной строки, однако Upstart, который был настроен со следующим скриптом:

start on network started
exec /usr/local/bin/ddns

... не выполняет его при запуске сети (который я предполагаю, когда машина загружается или я подключаю сетевой шнур).

I googled start on network started и нашел некоторые результаты, в которых говорится, что эта строфа фактически не запускается должным образом, но все равно запускается, однако я не уверен, что это связано или нет. Я делаю что-то неправильно? Я запускаю Ubuntu Server 11.10.

1
задан 6 January 2012 в 18:38

2 ответа

grep 'emit' /etc/network/if-up.d/upstart -a5

Предлагает вам, вероятно, использовать start on net-device-up.

Если у вас более одного устройства det (и у всех нет шлюзов), вы можете добавить аргумент в конец так, :

start on net-device-up IFACE=eth0
2
ответ дан 25 May 2018 в 15:24
  • 1
    Спасибо за Ваш ответ. Я пробовал это, и он работает, хотя я не уверен, что он будет срабатывать при изменении моего внешнего IP-адреса. Я смогу работать, когда это будет завтра. – kirb 6 January 2012 в 22:45

Традиционный метод (pre-upststart and still working) заключался в том, чтобы поместить скрипты в каталог /etc/network/if-up.d.

Обратите внимание, что Ubuntu имеет предварительно упакованные сценарии обновления DynDNS: я вижу dyndns, ddclient, inadyn, ez-ipupdate и ipcheck, упакованные в Ubuntu. Все должны работать:)

3
ответ дан 25 May 2018 в 15:24

Другие вопросы по тегам:

Похожие вопросы: