You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Micke Nordin f5e9f96f1e
Merge branch 'master' of https://github.com/mickenordin/weather
преди 4 години
LICENSE Initial commit преди 4 години
README.md Add crontab example преди 4 години
aggregateweather.py Fix dates преди 4 години
check_rainfall.sh Add nagios plugin преди 4 години
getweather.py Add human readable station name преди 4 години
grafana_dashboard.json Add cumulative graph преди 4 години
requirements.txt Collection of data and aggregation to mysql works преди 4 години
weather.ini Add grafana dashboard преди 4 години
weather.sql Add human readable station name преди 4 години

README.md

weather

Some pythonscripts that get weather data from SMHI and calculates evapotranspiration. Create a user to run scripts:

useradd -s /usr/sbin/nologin -r -M -d /opt/weather weather

Clone repo:

git clone https://github.com/mickenordin/weather.git /opt/weather

Chown:

chown -R weather:weather /opt/weather

Create mysql database:

mysql -e "CREATE DATABASE weather"
mysql -e "CREATE USER 'weather'@'localhost' IDENTIFIED BY 'password'"
mysql -e "GRANT ALL PRIVILEGES ON weather.* TO 'weather'@'localhost'"
mysql weather < /opt/weather/weather.sql

Install requirements:

sudo -u  weather pip3 install -r /opt/weather/requirements.txt

Configure and run:

vim /opt/weather/weather.ini
/opt/weather/getweather.py
/opt/weather/aggregateweather.py

Example crontab entry for weather user:

# m h  dom mon dow   command
15 * * * * /opt/weather/getweather.py
30 * * * * /opt/weather/getweather.py --station 97280
45 2,14 * * * /opt/weather/aggregateweather.py
45 3,15 * * * /opt/weather/aggregateweather.py --station 97280