Подключите и повторно подключите модем LTE через systemd

Я использую модем LTE USB для подключения моего сервера Ubuntu 18.04 к сети LTE. Модем 12d1:1506 Huawei Technologies Co., Ltd. Modem/Networkcard. Я записал systemd сценарий, который запускает соединение при начальной загрузке:

[Unit]
Description=Swan LTE connection
Requires=network-online.target
After=network-online.target

[Service]
Type=oneshot
ExecStart=/root/swan_connect.sh

[Install]
WantedBy=multi-user.target

swan_connect.sh содержит:

#!/bin/bash

/bin/echo -e "AT^NDISDUP=1,1,\"internet2\"\r" > /dev/ttyUSB0
/bin/sleep 2
/usr/sbin/netplan apply

Это хорошо работает, но проблемой является соединение LTE, отбрасывается каждые 48 часов (или в случае отключения электричества), и я должен повторно подключить и получить новый IP. Я делаю это в настоящее время crontab сценарием каждую минуту - если я не могу проверить с помощью ping-запросов IP, затем это снова соединится этими командами:

/usr/sbin/netplan apply
/bin/echo -e "AT^NDISDUP=1,0,\"internet2\"\r" > /dev/ttyUSB0
/bin/sleep 2
/bin/echo -e "AT^NDISDUP=1,1,\"internet2\"\r" > /dev/ttyUSB0
/bin/sleep 2
/usr/sbin/netplan apply

Снова - это хорошо работает, но я просто думал, не будет ли systemd версии этого ре/соединения. Действительно ли возможно сделать systemd сценарий способом systemd, повторно подключил бы соединение LTE, если отброшено?

0
задан 22 August 2018 в 00:40

1 ответ

systemd предложения много различных способов активировать сервисы, включая находящуюся на пути активацию для запуска сервиса, если файл изменения состояния.

Нет никакого встроенного средства для реакции на снижающееся сетевое соединение.

systemd действительно включает systemd таймеры как замену для Крона, но конечный результат был бы тот же дизайн: Выполните проверку через определенный интервал.

0
ответ дан 28 October 2019 в 02:40

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

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