Интересно, как я могу заставить машину что-то делать каждый раз, когда она подключается к интернету?
как проверка обновлений после подключения к интернету?
Спасибо
Сценарий, который вы ищете, выглядит так
[-n "$ (curl -s icanhazip.com | grep ^ [0-9])"] & amp; & amp; & amp; & amp; & amp; firefox
Чтобы легко настроить cronjob для запуска его каждые x минут, вы можете установить «gnome-schedule».
Нет абсолютно никакого индикатора, показывающего, есть ли у вас интернет-соединение или нет. Это связано с тем, что вы всегда подключаетесь к каким-то шлюзам (маршрутизатор, модем, ...), который устанавливает соединение с вашим интернет-провайдером. Поэтому, чтобы быть уверенным, что вы в сети или нет, вам нужно проверить соединение самостоятельно, выполнив ping или создав HTTP-соединение (например, используя curl
) и проверив результат. Но будьте осторожны: ответ ping не означает, что вы можете иметь HTTP-соединение. И получение ответа HTTP не означает, что вы можете просматривать веб-страницы. Вы всегда должны проверять ответ.
Вы можете быть уверены, что имеете интернет-соединение, если знаете ожидаемый ответ. Например, вы можете анализировать такие сайты, как http://www.whatismyip.de/ для IP-адреса, используя регулярные выражения. Если ваше регулярное выражение является правильным и оно не находит IP-адрес, тогда у вас нет подключения к Интернету.
Краткий ответ: напишите сценарий, в котором вы проверяете подключение к Интернету (как описано выше). При успешном выполнении вы выполняете нужные команды и устанавливаете флаг, который вы делаете на сегодняшний день (просто создайте файл и проверьте наличие), при неудаче вы ничего не делаете. Сделайте этот скрипт cronjob.
touch updated_at _ $ (date +% F)
, и проверить его в следующий раз перед обновлением.
– dAnjou
25 June 2011 в 18:55