У меня проблема с моей машиной Ubuntu. Каждые 15-20 минут мой Wi-Fi перестает работать. Соединение остается нетронутым, но доступ в интернет прекращается.
Всякий раз, когда это происходит, я перезапускаю Network-Manager, и все хорошо в течение еще 15 минут.
То, что я хотел бы сделать, это создать работу CRON, которая делает это для меня. У меня в crontab есть следующее ...
*/2 * * * * service network-manager restart
(это 2 минуты для отладки)
Это не работает, хотя. Я читал в Интернете, что, когда делаешь что-то похожее на CRON, нужно указать полный путь (который я не знаю).
Кто-нибудь может мне помочь с этой проблемой?
Аскер заявил, что в конечном итоге они добавили необходимые пути в начало файла crontab. Я посчитал полезным направить других, ищущих в этой теме, немного больше информации о решении.
См .: Причины, по которым crontab не работает
Цитата:
Cron передает минимальный набор переменных окружения вашим работам. Чтобы увидеть разницу, добавьте фиктивную работу, например:
- env> / tmp / env.output li> ul> li> ul> li> ul>
Подождите /tmp/env.output чтобы быть созданным, затем удалите работу снова. Теперь сравните содержимое /tmp/env.output с выводом команды env, запущенной на вашем обычном терминале.
Общей «ошибкой» здесь является то, что переменная окружения PATH отличается. Может быть, ваш скрипт cron использует команду somecommand из / opt / someApp / bin, которую вы добавили в PATH в / etc / environment? cron не читает этот файл, поэтому запуск некоторых команд из вашего скрипта завершится неудачно при запуске с cron, но будет работать при запуске в терминале.
blockquote>...
Вы также можете установить переменную PATH в файле crontab, которая будет применяться ко всем заданиям cron. Э.Г.
blockquote>> PATH=/opt/someApp/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin > > 15 1 * * * backupscript --incremental /home /root
В конце я просто добавил пути, необходимые для вершины crontab, и все заработало. Интернет недоступен в течение 30 секунд каждые 15 минут, что в моем случае не так уж и важно.
Спасибо за вклад людей.
Вы можете начать с просмотра файлов журналов (/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