Ведем сбор погодной статистики в OS Linux

Сервера, настройка, развертывание
Ответить
Аватара пользователя
icedog
Site Admin
Сообщения: 235
Зарегистрирован: Пн авг 03, 2020 5:49 pm
Откуда: Краснодар
Контактная информация:

Ведем сбор погодной статистики в OS Linux

Сообщение icedog »

Бывает необходимо вести учет статистики погодных условий и заносить эти данные в дневник. Однако, как то грустно ежедневно посещать погодные ресурсы и записывать показания вручную. Попытаемся автоматизировать сей процесс.

Нам в помощь Linux, браузер lynx, программа sed и Погодный робот Метеонова. Найдем в каталоге робота интересующий нас населенный пункт, в адресной строке браузера отобразится адрес страницы с порядковым номером населенного пункта в системе, который нас интересует, в моем случае это 99377.htm, запомним эти данные.

Для того, чтобы получить в консоли информацию о погоде следует выполнить однострочный скрипт

Код: Выделить всё

lynx -width=10000 -dump http://www.meteonova.ru/rss/99377.xml? | sed -n 1,1's/^.*htm?[0-9]\+ \(.*\) Погода МЕТЕОНОВА.*$/\1/p'
После чего на экран будут выведены текущие погодные условия
пасмурно, небольшой дождь, температура +6..+8 С, давление 758..760 мм рт.ст., ветер Северо-Восточный, 8 м/с
Итак, дальше все это нужно записывать в файл, находящийся по адресу /home/user/pogoda/collect.

Создадим скрипт «meteonova» в директории /home/user/script со следующим содержимым

Код: Выделить всё

date >> /home/user/pogoda/collect
lynx -width=10000 -dump http://www.meteonova.ru/rss/99377.xml? | sed -n 1,1's/^.*htm?[0-9]\+ \(.*\) Погода МЕТЕОНОВА.*$/\1/p' >> /home/user/pogoda/collect
Присвоим ему соответствующие права (возможность выполняться)

Код: Выделить всё

chmod 755 /home/user/pogoda/collect
После чего отправим его в cron для ежедневного выполнения например в 06:45

Код: Выделить всё

crontab -e
45 6 * * * /home/user/pogoda/collect
Скрипт будет ежедневно, в 6:45 получать информацию о погоде, записывать в текстовый файл дату и время, после чего, второй строкой писать полученную с погодного робота информацию.

Теперь будет просто сравнивать, какая погода была в этот день год назад.
Ответить