Почему мой сценарий не ожидает запуска сетевого сервиса перед запуском?

Я использую Debian 8 и настроил скрипт и поместил его в каталог /etc/init.d, как показано ниже. В принципе, я хочу открыть ssh туннели при запуске.

#! /bin/sh # /etc/init.d/open_tunnels ### BEGIN INIT INFO # Provides: open_tunnels # Required-Start: $network $syslog $remote_fs # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start daemon at boot time # Description: Enable service provided by daemon. ### END INIT INFO case "$1" in start) echo "Running open_tunnels..." <ssh command> ;; stop) killall open_tunnels ;; *) echo "Usage: /etc/init.d/open_tunnels start" exit 1 ;; esac exit 0 

Затем я добавил службу

 insserv open_tunnels 

Но, когда я запускаю систему, я получил это в syslog:

 open_tunnels[522]: ssh: connect to host <IP> port 22: Network is unreachable 

Я уверен, что команда ssh работает хорошо, потому что я использую ее в своей системе (после входа в систему). Я просто хочу, чтобы он исполнялся при запуске.

Здесь что-то не хватает?

One Solution collect form web for “Почему мой сценарий не ожидает запуска сетевого сервиса перед запуском?”

Прочтите https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/ для исчерпывающего рассмотрения этого вопроса. Основная проблема заключается в следующем:

То, что именно требуется для $network не является очевидным и может быть различным в зависимости от локальной конфигурации.

Systemd дает вам лучшие инструменты, подробно описанные выше. В принципе, вы захотите

 [Unit] Require = network-online.target After = network-online.target 

в вашем файле пользовательских сервисов и надеемся, что ваша служба управления сетью обеспечит хорошо управляемую сеть- network-online.target .

Если вы не хотите заменять свой скрипт init файлом службы systemd, создайте каталог /etc/systemd/system/open_tunnels.service.d и поместите вышеуказанные 3 строки в любой файл (с расширением .conf ) в этом каталоге , Это увеличит описание сервиса, созданного с помощью уровня совместимости с SysV-системой systemd, как описано в man systemd.unit .

  • Где найти загрузочный журнал в Debian 8 (для отладки ошибок автозапуска)?
  • bootup зависает "начал мониторинг зеркал lvm2"
  • Cron не работает при запуске, но работает, если перезагружен?
  • Время медленной загрузки XOrg
  • Проблема с запуском службы Debian
  • Как работают службы в Debian и как я могу ими управлять?
  • Возможно ли, что у вас есть оболочка входа, которая не является интерактивной?
  • Конфигурация xrandr не загружается должным образом при запуске из .xprofile
  • запустить исполняемый файл при загрузке
  • Как запускать скрипты при запуске без старта?
  • X (?) Перезапуск каждую минуту при тестировании debian
  • Linux и Unix - лучшая ОС в мире.