Вам нужно ядро 3.4.
На самом деле у меня есть ядро 3.3 в 10.04, которое работает без проблем, хотя я должен попробовать 3.4.
Для дополнительной справки: графический пакет Intel 12.07
Я использую этот метод ...
if [[ "$(ping -c 1 8.8.8.8 | grep '100% packet loss' )" != "" ]]; then echo "Internet isn't present" exit 1 else echo "Internet is present" wget www.site.com fiПроверка того, что сайт работает, обычно выполняется с помощью средства мониторинга, например nagios. Это будет постоянно следить за сайтом и уведомлять вас об отключении.
Когда вы проверяете, запущен ли интернет из командной строки, выполните несколько шагов:
Проверьте, что Интернет вверх ping google.com (проверяет DNS и известный доступный сайт). Проверьте, что веб-сайт использует wget или w3m для извлечения страницы.Если Интернет не диагностируется наружу.
Проверьте, что Интернет работает ping google.com (проверяет DNS и известный доступный сайт). Проверить DNS-серверы pingable. (Проверьте /etc/resolv.conf для адресов.) Проверьте, что веб-сайт используется wget или w3m для извлечения страницы.Если Интернет включен, но сайт вниз с w3m http://isup.me/example.com, заменив example.com на сайт, который появляется вниз. Используйте wget, lynx или какой-либо браузер командной строки, доступный вам, если у вас нет установленного браузера w3m.
Я просто использовал
nm-online
, который приостанавливается до тех пор, пока сетевое подключение не появится сетевым менеджером. Хорошо работает. Вы можете делать и другие вещи с этим.
Это сценарий оболочки, который я использую для проверки подключения к Интернету:
alarm.sh
#! /bin/bash
if curl --silent --head http://www.google.com/ |
egrep "20[0-9] Found|30[0-9] Found" >/dev/null
then
echo Internet status: OK
else
echo Internet status: ERROR
mpg321 alarm.mp3 &> /dev/null
fi
sleep 60
clear
./alarm.sh
Вам нужно будет установить curl и mpg321
sudo apt-get install curl mpg321
Вам понадобится звуковой файл .mp3, переименованный в alarm.mp3 в той же папке, если вы хотите слышимый звуковой сигнал. Наконец настройте URL-адрес веб-сайта и egrep для ваших нужд.
sudo nm-tool | grep "State: connected" | wc -l
Из вывода (выдержка):
1 #System is connected to internet
Однако, как упоминалось другими, это не говорит о том, действительно ли у вас есть возможность подключения или нет. Например. Вы можете подключиться к маршрутизатору, и маршрутизатор не обязательно подключен к Интернету.
Мне нужна помощь по тому же вопросу, и я получил свой ответ следующим образом:
echo $(nm-online) $? connection problems
Проверка работы Интернета не такая уж тривиальная. ping - ICMP, поэтому он может работать, даже если веб-прокси отключен. Что-то подобное происходит с DNS, если вы тестируете с помощью IP.
Поскольку мое подключение к Интернету нестабильно, я создал этот скрипт (на основе этого), который заставляет мягкий звук аккорда звонить мне, а также использует Ubuntu notify когда возвращается подключение к Интернету:
#!/bin/bash
hash play 2>&- || { echo >&2 "I require «play» but it's not installed. Try apt-get install sox. Aborting."; exit 1; }
WGET="`which wget`"
URL="http://www.google.com"
delay=3;
noConnectionMessage="No connection, trying again in $delay seconds...";
connectionMessage="WE HAVE INTERNET! :) Trying again in $delay seconds...";
echo "INTERNET TESTER: Type Ctrl+C to quit";
rm --force /tmp/index.site
function playSound {
time=1; # Time played
if [ `sox --version| grep -oP "v[0-9.]+" | sed "s/[v.]//g"` -lt 1431 ]; then #analize sox version, if greater than v14.3.1 can use pluck
play -q -n synth $time sine;
else
play -q -n synth $time pluck $1;
#for i in G4 G4 G4 E4;do play -n synth 0.1 pluck $i repeat 2;done # You can play with something like this also :) (first three notes from Beethoven 5th symphony)
fi
}
while [ 1 -eq 1 ]; do
$WGET -q --tries=10 --timeout=2 $URL -O /tmp/index.site &> /dev/null
if [ ! -s /tmp/index.site ];then
echo $noConnectionMessage;
#playSound E2
sleep 1;
else
#~ zenity --warning --text "ADDRESS is back"
notify-send -i "notification-network-wireless-full" "Connection state:" "$connectionMessage";
echo $connectionMessage;
playSound E3
fi
sleep $delay;
done
exit 0;
Я искал сценарий, который будет постоянно проверять мое подключение к Интернету, которое будет запускаться всякий раз, когда мой сервер будет включен, и я сделал это:
Сначала установите fpingapt-get install fping
Создайте сценарий инициализации в в папке /etc/init.d со следующим содержимым (я назвал его testcon) #!/bin/bash
PIDFILE=/var/run/testcon.pid
. /lib/lsb/init-functions
case "$1" in
start)
log_daemon_msg "Starting internet connection tester"
/etc/init.d/testcond &
echo $! > $PIDFILE
log_end_msg $?
;;
stop)
log_daemon_msg "Stopping internet connection tester"
PID=$(cat $PIDFILE)
kill -9 "$PID"
log_end_msg $?
;;
*)
echo "Usage: /etc/init.d/testcon {start|stop}"
exit 1
;;
esac
exit 0
Создайте сценарий в папке /etc/init.d со следующим содержимым (я назвал его testcond) #echo Computer starting or testing daemon init
while [ "$itest" == "" ]
do
#wait 5 seconds
sleep 5
itest=$(fping 8.8.8.8 | grep alive)
done
date | mail -s "Server is up and Internet is online" your_email@gmail.com
#loop forever
while [ "1" == "1" ]
do
itest=$(fping 8.8.8.8 | grep alive)
#if internet is down
if [ "$itest" == "" ]
then
#echo Internet is down
#log time it was found down
current_time=$(date)
echo "Internet was found down @ $current_time" >> /mnt/data/Server/internet_log.txt
#loop until it is back
while [ "$itest" == "" ]
do
#wait 60 seconds
sleep 60
itest=$(fping 8.8.8.8 | grep alive) # test the internet
done
#when it is back
current_time=$(date)
echo "Internet is back @ $current_time" >> /mnt/data/Server/internet_log.txt
body=$(tail -2 /mnt/data/Server/internet_log.txt)
echo "$body" | mail -s "Internet is back online" your_email@gmail.com
fi
#echo Internet is online
#wait 60 seconds
sleep 60
done
Затем я запускаю команды ниже, чтобы добавить к запуску: sudo update-rc.d testcon defaults
sudo update-rc.d testcon enable
Перезагрузка Я столкнулся с случайным отбросом Wi-Fi-соединений моим чипом Broadcom BCM94331CD. Я разработал следующий скрипт bash (бесконечный цикл), проверяющий каждую секунду, если соединение Wi-Fi Интернета запущено и работает. Другая предложенная здесь командная строка будет ждать не менее 5-10 секунд перед закрытием со статусом, то есть ping. В то же время я ищу окончательное решение.
Из результатов на askubuntu мне придется очистить пакет bcmwl-kernel-source, поскольку я использую firmware-b43-installer и b43-fwcutter. [!d1 ]
Спасибо всем за их предложения (см. выше).
Этот скрипт необходимо добавить в программы запуска и не использовать super user для запуска.
[F1]