Кажется, что мой сервер Raspberry Pi теряет соединение Wi-Fi после случайного времени и не может автоматически восстановиться.
Обычно перезагрузка, выполняемая вручную, решает проблему.
Я бы хотел, чтобы он автоматически перезагружался, если через 30 минут нет Wi-Fi. Как я могу это сделать?
wifi
raspberry-pi
raspbian
reboot
зажим
источник
источник
Ответы:
По сути, это ответ Уорвика с пошаговыми инструкциями.
Создайте следующий скрипт в вашей домашней папке:
check_inet.sh
Измените разрешения, чтобы они выполнялись
Отредактируйте,
/etc/crontab
используяsudo
и добавьте следующую строку (замените ееyourname
своим реальным именем пользователя):источник
Один из способов - поместить запись в cron root, которая запускает скрипт каждые 30 минут. Скрипт будет проверять соединение WIFI, возможно, используя
ping
, и записывать результат в файл в / tmp - 1, если соединение существует, 0, если нет. Последующие итерации скрипта затем проверили бы этот файл, и если он был равен 0, а соединение WIFI все еще было плохим, запуститеinit 6
команду.источник
Я думаю, что решение hololeap работает.
Мое решение проверяет каждые N минут (в зависимости от того, как вы настраиваете свой crontab) для работающего сетевого соединения. Если проверка не удалась, я отслеживаю неудачу. Когда количество ошибок> 5, я пытаюсь перезапустить Wi-Fi (вы также можете перезагрузить Raspberry, если перезапуск Wi-Fi не удается, проверьте комментарии).
Вот репозиторий GitHub, всегда содержащий последнюю версию скрипта: https://github.com/ltpitt/bash-network-repair-automation
Вот, в соответствии с общей политикой stackexchange (все ответы должны содержать не только ссылки), а также файл network_check.sh, скопируйте и вставьте его в любую понравившуюся папку, инструкции по установке находятся в комментариях скрипта.
править 26.01.2008: я удалил временные файлы, чтобы скрипт работал в памяти и не записывал на SD-карту Raspberry.
источник
ifdown
иifup
, возможно, исправляя сеть, а может и нет. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... Если я что-то не так понял, объясните мне … (Продолжение)Я изменил сценарий Pitto для моего многоцелевого шлюза mtac loraWAN (без fping). Я также добавил файл журнала.
источник
ifupdown
если не используете его / их? (2) Почему вы перешлиgateway_ip
с переменной на жестко закодированную константу?network_check_tries_file
файле (когда происходитping
сбой), он не увеличивает значениеnetwork_check_tries
переменной. … (Продолжение)network_check_tries
равным 0, 1, 2, 3, 4, 5 и 6 - и только на седьмом вызове (сnetwork_check_tries
равным 6)if [ "$network_check_tries" -gt 5 ]
тест проходит успешно. Возможно, это правильное поведение. Насколько известно сценарию, в 00:04:59 сеть, возможно, отключилась, поэтому требуется семь последовательных сбоев, чтобы убедиться, что вы преодолели 30-минутный период. … (Продолжение)