Показать сообщение отдельно
Старый 05.01.2024, 11:43   #3
vardan0808
Новичок
 
Регистрация: Dec 2016
Сообщения: 5
Благодарил(а): 9 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Температура наружного воздуха из интернета

Добрый день, меня тоже интересует эта тема, прошу поддержать опытных коллег.
Поскольку не имею опыта в программировании, с помощью GPT написал небольшой скрипт weather2_fixed.sh, который умеет считывать данные с API openweathermap.org и записывает в файл weather_data.json. Поместил скрипт в /projects/weather/ , но он запускается пока только вручную, cron почему-то не смог его запустить по расписанию. Чтобы запустить скрипт вручную я подключаюсь через WinSCP, затем запускаю Putty и из командной строки мне необходимо сначала ввести пароль, затем перейти в директорию где находится скрипт, затем ввести bash weather2_fixed.sh. При этом скрипт начинает работать и с указанной периодичностью обновляет данные. Если закрыть сессию Putty, процесс прерывается.
Теперь вопрос: как заставить этот скрипт запускаться автоматически либо с cron, либо по автозапуску и записывать считанные данные в соответствующий shmem ?

Код:
#!/bin/bash

while true; do
    # Отправляем запрос к API погоды и сохраняем ответ в файл
    wget -O weather_data.json "http://api.openweathermap.org/data/2.5/weather?q=City&appid=YOUR_API_KEY&units=metric"" 

    # Извлекаем значение температуры из файла с помощью grep
    temperature=$(grep -o '"temp":[0-9.]*' weather_data.json | awk -F':' '{print $2}')

    # Выводим значение температуры
    echo "Текущая температура: $temperature градусов Цельсия"

    # Записываем значение температуры в файл (например, temperature.txt)
    echo "$temperature" > temperature.txt

    # Пауза на 30 минут перед следующим запросом
    sleep 1800  # 1800 секунд = 30 минут
done
vardan0808 вне форума   Ответить с цитированием