Debian 8/init.d: запустить демон после того, как $named будет готов
Я пытаюсь запустить демон init.d в Debian 8 после того, как сеть и DNS запущены и работают. Вот скрипт, который я использую:
### BEGIN INIT INFO
# Provides: local_daemon
# Required-Start: $all $local_fs $remote_fs $network $named $time $syslog
# Required-Stop: $all $local_fs $remote_fs $network $named $time $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Starts a Daemon.
# Description: Starts a custom daemon.
### END INIT INFO
У меня есть несколько серверов, и это в основном работает. Однако в некоторых случаях DNS еще не готов при вызове сценария. Таким образом, демон не может подключиться, например, к www.domain.com во время работы. В конце концов DNS готов, но это после того, как скрипт запущен (а не во время его запуска).
Вопрос: Как заставить DNS быть готовым при вызове скрипта? Я предположил, что $named в "Required-Start:" отвечает за настройку и готовность DNS. Это не похоже на случай. Как заставить сценарий выполняться только тогда, когда разрешение доменного имени (DNS) и работа в сети готовы?
РЕДАКТИРОВАТЬ 2017-01-26: спасибо за отзыв. Это LIVE-сервер, и мои навыки работы с Linux в лучшем случае зачаточны. Я бы лучше не ломал вещи, пока они работают нормально, иначе. Во всяком случае, я остановился на 20 секунд до запуска сервера, который, кажется, работает нормально. Да, я очень хорошо понимаю, что это "взлом"
start() {
# wait a while to make sure the network is ready!
sleep 20
# run the server
...
}
case "$1" in
start)
# starts the server in a separate thread
start &
;;
stop)
# stop: we do nothing special
;;
*)
;;
esac
exit 0