Перезагрузите Network-Manager каждые n минут / часов

У меня проблема с моей машиной Ubuntu. Каждые 15-20 минут мой Wi-Fi перестает работать. Соединение остается нетронутым, но доступ в интернет прекращается.

Всякий раз, когда это происходит, я перезапускаю Network-Manager, и все хорошо в течение еще 15 минут.

То, что я хотел бы сделать, это создать работу CRON, которая делает это для меня. У меня в crontab есть следующее ...

*/2 * * * * service network-manager restart

(это 2 минуты для отладки)

Это не работает, хотя. Я читал в Интернете, что, когда делаешь что-то похожее на CRON, нужно указать полный путь (который я не знаю).

Кто-нибудь может мне помочь с этой проблемой?

0
задан 4 July 2013 в 01:37

3 ответа

Аскер заявил, что в конечном итоге они добавили необходимые пути в начало файла crontab. Я посчитал полезным направить других, ищущих в этой теме, немного больше информации о решении.

См .: Причины, по которым crontab не работает

Цитата:

Cron передает минимальный набор переменных окружения вашим работам. Чтобы увидеть разницу, добавьте фиктивную работу, например:

          • env> / tmp / env.output

        Подождите /tmp/env.output чтобы быть созданным, затем удалите работу снова. Теперь сравните содержимое /tmp/env.output с выводом команды env, запущенной на вашем обычном терминале.

        Общей «ошибкой» здесь является то, что переменная окружения PATH отличается. Может быть, ваш скрипт cron использует команду somecommand из / opt / someApp / bin, которую вы добавили в PATH в / etc / environment? cron не читает этот файл, поэтому запуск некоторых команд из вашего скрипта завершится неудачно при запуске с cron, но будет работать при запуске в терминале.

        ...

        Вы также можете установить переменную PATH в файле crontab, которая будет применяться ко всем заданиям cron. Э.Г.

        > PATH=/opt/someApp/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
        > 
        > 15 1 * * * backupscript --incremental /home /root
        
0
ответ дан 4 July 2013 в 01:37

В конце я просто добавил пути, необходимые для вершины crontab, и все заработало. Интернет недоступен в течение 30 секунд каждые 15 минут, что в моем случае не так уж и важно.

Спасибо за вклад людей.

0
ответ дан 4 July 2013 в 01:37

Вы можете начать с просмотра файлов журналов (/var/log/*), чтобы узнать, какие из них упоминают «ваш wifi», возможно, «wlan0». Если нет, используйте ifconfig -a для отображения списка ваших интерфейсов.

В моей системе вот как выглядит поиск wlan0:

$ grep -li wlan0 /var/log/*
grep: /var/log/btmp: Permission denied
grep: /var/log/btmp.1: Permission denied
/var/log/dmesg.0
/var/log/kern.log
/var/log/kern.log.1
/var/log/pm-powersave.log
/var/log/pm-powersave.log.1
grep: /var/log/speech-dispatcher: Permission denied
/var/log/syslog
/var/log/syslog.1
/var/log/udev

Обратите внимание, что я выполнил команду как пользователь без полномочий root, но журналы btmp и speech-dispatcher не отображаются. не используется сетью, поэтому мне не нужно быть root.

Следующим шагом будет удаление опции «l» из grep, передача вывода через less и поиск интересных (из временной отметки или содержимого сообщения) строк. ,

grep -i wlan0 /var/log/* | less
0
ответ дан 4 July 2013 в 01:37

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

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