Перезагрузка сетевого интерфейса по расписанию
Как правильно задавать вопросы Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа. Общая рекомендация по составлению тем: 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 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот
-
Автор темы - Сообщения: 8
- Зарегистрирован: 06 окт 2022, 19:00
- Благодарил (а): 4 раза
- Контактная информация:
Перезагрузка сетевого интерфейса по расписанию
Помогите пожалуйста, в линуксоводстве новичок. Нужен рецепт как настроить следующее. Интернет подключен к пк проводом, это Ростелеком pppoe. Ночью в разное время интернет отваливается, в ifconfig интерфейс поднят и есть ip но Пинги на 8.8.8.8 не проходят. Мне очень важно, чтоб комп был в сети все время, перезагрузка сетевого интерфейса помогает. Будьте любезны дайте скрипт проверки сети с периодичностью 5 минут и если пинга нет то перезагрузить сетевой интерфейс. Как этот скрипт выполнять в кроне без моего участия? Дополнительно Как перезагрузить сеть в кроне каждое утро в 7:00? Заранее благодарю.
-
- Сообщения: 10050
- Зарегистрирован: 27 июн 2017, 13:36
- Решено: 129
- Откуда: Нижний Тагил
- Благодарил (а): 776 раз
- Поблагодарили: 1958 раз
- Контактная информация:
Перезагрузка сетевого интерфейса по расписанию
Код: Выделить всё
#!/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
интерфейс
заменить на имя своего интерфейсаПосмотреть список интерфейсов
Код: Выделить всё
ip a
Код: Выделить всё
*/5 * * * * /path/to/script.sh
На правильность не претендую.
Наверняка есть способ получше и поизящней
-
Автор темы - Сообщения: 8
- Зарегистрирован: 06 окт 2022, 19:00
- Благодарил (а): 4 раза
- Контактная информация:
Перезагрузка сетевого интерфейса по расписанию
rogoznik, вот с правами как то не сталкивался. Подскажите как выдать права?
-
- Сообщения: 10050
- Зарегистрирован: 27 июн 2017, 13:36
- Решено: 129
- Откуда: Нижний Тагил
- Благодарил (а): 776 раз
- Поблагодарили: 1958 раз
- Контактная информация:
Перезагрузка сетевого интерфейса по расписанию
Your1ch, в терминале
Код: Выделить всё
chmod +x script_name
-
Автор темы - Сообщения: 8
- Зарегистрирован: 06 окт 2022, 19:00
- Благодарил (а): 4 раза
- Контактная информация:
Перезагрузка сетевого интерфейса по расписанию
rogoznik, спасибо, до пк доберусь только завтра. Проверю, отпишусь. Еще вопрос как убедиться что скрипт выполняется? Может логи где то есть
-
- Сообщения: 2022
- Зарегистрирован: 11 июн 2017, 21:47
- Решено: 30
- Откуда: BY
- Благодарил (а): 79 раз
- Поблагодарили: 434 раза
- Контактная информация:
Перезагрузка сетевого интерфейса по расписанию
А под обычными правами в cron сработает? У меня как-то была проблема отваливающейся связи с роутером и лечившейся перезапуском интерфейса (down и up), но отрабатывалось это у меня только через sudo, в результате чего вынужден был добавить соответствующую запись в /etc/sudoers.
-
Автор темы - Сообщения: 8
- Зарегистрирован: 06 окт 2022, 19:00
- Благодарил (а): 4 раза
- Контактная информация:
Перезагрузка сетевого интерфейса по расписанию
madesta, кстати хорошее замечание, повторюсь я новичок в этом деле. Команды service network restart выполняются от Рута (не знаю чем принципиально отличается от up down). chmod +x script_name это права на исполнение, но не от суперпользователя.
Думаю что если залогиниться от рута в консоли, а потом создать задание крону должно выполнять от Рута.
sudo crontab e
И еще
Думаю что если залогиниться от рута в консоли, а потом создать задание крону должно выполнять от Рута.
sudo crontab e
И еще
Разве не ip link set dev enp0s3 down?
-
Автор темы - Сообщения: 8
- Зарегистрирован: 06 окт 2022, 19:00
- Благодарил (а): 4 раза
- Контактная информация:
Перезагрузка сетевого интерфейса по расписанию
rogoznik, в общем добрался до пк. доустановил утилиту pppoeconf и удалил соединение в network manager. Настроил соединение через pppoeconf. У этой утилиты есть команды для установки соединения "pon dsl-provider" и завершать с помощью "poff".
скрипт создал такой: wd.sh
и второй скрипт чтоб каждое утро в 7:00 перезагружал nr.sh
засунул в крон под рутом,
*/5 * * * * /root/scripts/wd.sh
0 7 * * * /root/scripts/nr.sh
вроде бы работает.
не могу найти логи крона, может подскажете как организовать логгирование?
скрипт создал такой: 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
Код: Выделить всё
#!/bin/bash
poff dsl-provider
sleep 10
pon dsl-provider
*/5 * * * * /root/scripts/wd.sh
0 7 * * * /root/scripts/nr.sh
вроде бы работает.
не могу найти логи крона, может подскажете как организовать логгирование?
-
- Сообщения: 10050
- Зарегистрирован: 27 июн 2017, 13:36
- Решено: 129
- Откуда: Нижний Тагил
- Благодарил (а): 776 раз
- Поблагодарили: 1958 раз
- Контактная информация:
Перезагрузка сетевого интерфейса по расписанию
Your1ch, прям в скрипте в нужном месте организуй запись в файл
например так
например так
Код: Выделить всё
echo 'какой-то текст' >> /var/log/file_name.log
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя