Остановите загрузку Deluge, когда VPN падает

Так как я совершенно нуб в скриптинге, есть ли эффективный способ проверять каждую секунду существование интерфейса tun0 (соответствующего моему vpn), и если он не работает, то deluge перестанет скачивать?

Следующим шагом было бы возобновление, если tun0 снова работает, но давайте сначала выясним первый случай. Есть идеи?

0
задан 23 November 2017 в 19:59

1 ответ

Хорошо, кажется, я был слишком быстр. Я нашел частичное решение проблемы. Создайте файл check_tun0.sh и сохраните его в /etc/NetworkManager/dispatcher.d. Скрипт запускается с разрешениями root:root.

Сценарий:

#!/bin/sh
# use tail - /var/log/syslog in terminal to check if it is executed the four lines help you spot easily

logger -s XXXXXXXXXX
logger -s $1
logger -s $2
logger -s XXXXXXXXXX


if [ $2 = "vpn-down" ]
    then
# Stop downloads if vpn is down
    deluge-console "pause *; quit"
fi

Почему команды не выполняются, в то время как они нормально работают в терминале? Я заменил команды deluge-console на killall deluged в качестве примера, и скрипт работает. Очевидно, я не могу запустить deluge-console команды в скрипте. Это почему? Кроме того, у вас есть идея расширить это для поддержки возобновления загрузок после того, как tun0 будет повторно включен?

0
ответ дан 23 November 2017 в 19:59

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

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