Загрузка netplan сценарии от дополнительной цели монтирования

Я бы добавил простой shell-скрипт в кронтаб, который бы периодически пинговал известный хост и перезапускал службу, если хост недоступен.

Что-то вроде этого:

#!/bin/sh
ping -q -c3 google.com &> /dev/null
if [[ $? != "0" ]]
  then
    ppp_restart_command
fi

Назовите его, например, conn_check.sh, добавьте его в crontab и пусть он запускается каждые 60 секунд.

1
22.08.2018, 12:50
1 ответ

Сегодня я боролся с этим и на данный момент нашел два основных решения:

  1. Используйте cron для запуска netplan applyна @reboot, но, похоже, слишком много предостережений .
  2. Создайте модуль systemd для запуска netplan applyпосле монтирования.

Я выбираю вариант 2, и вот файл модуля systemd:

[Unit]
Description=Execute netplan apply after mount
After=multi-user.target mnt.mount

[Service]
Type=oneshot
ExecStart=/bin/sh -c "netplan apply"

[Install]
WantedBy=multi-user.target

Сохраните его под /etc/systemd/system/network-after-mount.serviceи перейдите systemctl enable network-after-mount. Перезагрузитесь для проверки.

В нашем случае это внутренний USB-накопитель, который монтируется под /mnt/и содержит дополнительные файлы конфигурации netplan. Если вы смонтируете свой диск по другому пути, сгенерированный модуль монтирования systemd будет называться по-другому. Вы можете перечислить единицы крепления с помощью

systemctl list-units --type=mount

и определите, какой из них является правильным.

0
28.01.2020, 00:30

Теги

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