Перезагрузка сетевого интерфейса по расписанию

Как правильно задавать вопросы Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа. Общая рекомендация по составлению тем: 1. Для начала воспользуйтесь поиском форума. 2. Укажите версию ОС вместе с разрядностью. Пример: LM 19.3 x64, LM Sarah x32 3. DE. Если вопрос касается двух, то через запятую. (xfce, KDE, cinnamon, mate) 4. Какое железо. (достаточно вывод inxi -Fxz в спойлере (как пользоваться спойлером смотрим здесь)) или же дать ссылку на hw-probe 5. Суть. Желательно с выводом консоли, логами. 6. Скрин. Просьба указывать 2, 3 и 4 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот
no avatar

Автор темы
Your1ch
Сообщения: 8
Зарегистрирован: 06 окт 2022, 19:00
Благодарил (а): 4 раза
Контактная информация:

Перезагрузка сетевого интерфейса по расписанию

#1

06 окт 2022, 19:10

Помогите пожалуйста, в линуксоводстве новичок. Нужен рецепт как настроить следующее. Интернет подключен к пк проводом, это Ростелеком pppoe. Ночью в разное время интернет отваливается, в ifconfig интерфейс поднят и есть ip но Пинги на 8.8.8.8 не проходят. Мне очень важно, чтоб комп был в сети все время, перезагрузка сетевого интерфейса помогает. Будьте любезны дайте скрипт проверки сети с периодичностью 5 минут и если пинга нет то перезагрузить сетевой интерфейс. Как этот скрипт выполнять в кроне без моего участия? Дополнительно Как перезагрузить сеть в кроне каждое утро в 7:00? Заранее благодарю.

Аватара пользователя

rogoznik
Сообщения: 10050
Зарегистрирован: 27 июн 2017, 13:36
Решено: 129
Откуда: Нижний Тагил
Благодарил (а): 776 раз
Поблагодарили: 1958 раз
Контактная информация:

Перезагрузка сетевого интерфейса по расписанию

#2

06 окт 2022, 19:33

Код: Выделить всё

#!/bin/bash

TARGET_HOST='google.com'

count=$(ping -c 3 $TARGET_HOST | grep from* | wc -l)

if [ $count -eq 0 ]; then
    ip link set интерфейс down
    sleep 3
    ip link set интерфейс up
fi
интерфейс заменить на имя своего интерфейса
Посмотреть список интерфейсов Ну и типа такого задания в cron

Код: Выделить всё

*/5 * * * * /path/to/script.sh
Ну и не забыть дать скрипту права на выполнение

На правильность не претендую.
Наверняка есть способ получше и поизящней
ИзображениеИзображение

no avatar

Автор темы
Your1ch
Сообщения: 8
Зарегистрирован: 06 окт 2022, 19:00
Благодарил (а): 4 раза
Контактная информация:

Перезагрузка сетевого интерфейса по расписанию

#3

06 окт 2022, 19:36

rogoznik, вот с правами как то не сталкивался. Подскажите как выдать права?

Аватара пользователя

rogoznik
Сообщения: 10050
Зарегистрирован: 27 июн 2017, 13:36
Решено: 129
Откуда: Нижний Тагил
Благодарил (а): 776 раз
Поблагодарили: 1958 раз
Контактная информация:

Перезагрузка сетевого интерфейса по расписанию

#4

06 окт 2022, 19:37

Your1ch, в терминале

Код: Выделить всё

chmod +x script_name
ИзображениеИзображение

no avatar

Автор темы
Your1ch
Сообщения: 8
Зарегистрирован: 06 окт 2022, 19:00
Благодарил (а): 4 раза
Контактная информация:

Перезагрузка сетевого интерфейса по расписанию

#5

06 окт 2022, 19:41

rogoznik, спасибо, до пк доберусь только завтра. Проверю, отпишусь. Еще вопрос как убедиться что скрипт выполняется? Может логи где то есть

Аватара пользователя

rogoznik
Сообщения: 10050
Зарегистрирован: 27 июн 2017, 13:36
Решено: 129
Откуда: Нижний Тагил
Благодарил (а): 776 раз
Поблагодарили: 1958 раз
Контактная информация:

Перезагрузка сетевого интерфейса по расписанию

#6

06 окт 2022, 19:44

Your1ch, прям в скрипте сделай запись в файл и проверяй
ИзображениеИзображение

no avatar

Автор темы
Your1ch
Сообщения: 8
Зарегистрирован: 06 окт 2022, 19:00
Благодарил (а): 4 раза
Контактная информация:

Перезагрузка сетевого интерфейса по расписанию

#7

06 окт 2022, 20:34

rogoznik, я не знаю как. Спасибо еще раз.

Аватара пользователя

madesta
Сообщения: 2020
Зарегистрирован: 11 июн 2017, 21:47
Решено: 30
Откуда: BY
Благодарил (а): 79 раз
Поблагодарили: 434 раза
Контактная информация:

Перезагрузка сетевого интерфейса по расписанию

#8

06 окт 2022, 21:35

А под обычными правами в cron сработает? У меня как-то была проблема отваливающейся связи с роутером и лечившейся перезапуском интерфейса (down и up), но отрабатывалось это у меня только через sudo, в результате чего вынужден был добавить соответствующую запись в /etc/sudoers.

no avatar

Автор темы
Your1ch
Сообщения: 8
Зарегистрирован: 06 окт 2022, 19:00
Благодарил (а): 4 раза
Контактная информация:

Перезагрузка сетевого интерфейса по расписанию

#9

06 окт 2022, 21:58

madesta, кстати хорошее замечание, повторюсь я новичок в этом деле. Команды service network restart выполняются от Рута (не знаю чем принципиально отличается от up down). chmod +x script_name это права на исполнение, но не от суперпользователя.
Думаю что если залогиниться от рута в консоли, а потом создать задание крону должно выполнять от Рута.
sudo crontab e

И еще
rogoznik писал(а):
06 окт 2022, 19:33
ip link set интерфейс down
Разве не ip link set dev enp0s3 down?

Аватара пользователя

rogoznik
Сообщения: 10050
Зарегистрирован: 27 июн 2017, 13:36
Решено: 129
Откуда: Нижний Тагил
Благодарил (а): 776 раз
Поблагодарили: 1958 раз
Контактная информация:

Перезагрузка сетевого интерфейса по расписанию

#10

07 окт 2022, 07:03

Your1ch писал(а):
06 окт 2022, 21:58
Разве не ip link set dev enp0s3 down?
Нет.
Ты хоть бы попробовал саму команду, а потом спрашивал
ИзображениеИзображение

no avatar

Автор темы
Your1ch
Сообщения: 8
Зарегистрирован: 06 окт 2022, 19:00
Благодарил (а): 4 раза
Контактная информация:

Перезагрузка сетевого интерфейса по расписанию

#11

07 окт 2022, 09:47

rogoznik, в общем добрался до пк. доустановил утилиту pppoeconf и удалил соединение в network manager. Настроил соединение через pppoeconf. У этой утилиты есть команды для установки соединения "pon dsl-provider" и завершать с помощью "poff".
скрипт создал такой: wd.sh

Код: Выделить всё

#!/bin/bash
TARGET_HOST='8.8.8.8'

count=$(ping -c 3 $TARGET_HOST | grep from* | wc -l)

if [ $count -eq 0 ]; then
    poff dsl-provider
    sleep 10
    pon dsl-provider
fi
и второй скрипт чтоб каждое утро в 7:00 перезагружал nr.sh

Код: Выделить всё

#!/bin/bash
    poff dsl-provider
    sleep 10
    pon dsl-provider
засунул в крон под рутом,
*/5 * * * * /root/scripts/wd.sh
0 7 * * * /root/scripts/nr.sh

вроде бы работает.

не могу найти логи крона, может подскажете как организовать логгирование?

Аватара пользователя

rogoznik
Сообщения: 10050
Зарегистрирован: 27 июн 2017, 13:36
Решено: 129
Откуда: Нижний Тагил
Благодарил (а): 776 раз
Поблагодарили: 1958 раз
Контактная информация:

Перезагрузка сетевого интерфейса по расписанию

#12

07 окт 2022, 09:59

Your1ch, прям в скрипте в нужном месте организуй запись в файл
например так

Код: Выделить всё

echo 'какой-то текст' >> /var/log/file_name.log
ИзображениеИзображение

no avatar

Автор темы
Your1ch
Сообщения: 8
Зарегистрирован: 06 окт 2022, 19:00
Благодарил (а): 4 раза
Контактная информация:

Перезагрузка сетевого интерфейса по расписанию

#13

07 окт 2022, 10:41

Всем большое спасибо, буду тестировать.

no avatar

Автор темы
Your1ch
Сообщения: 8
Зарегистрирован: 06 окт 2022, 19:00
Благодарил (а): 4 раза
Контактная информация:

Перезагрузка сетевого интерфейса по расписанию

#14

11 окт 2022, 07:34

Скрипты работают, всем еще раз большое спасибо.

Ответить

Вернуться в «Сетевые карты, модемы, Wi-Fi, bluetooth»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя