Bei einigen Gelegenheiten brauchen wir regelmäßig aktualisierte Diagramme.

An Walpurgis oder Silvester ist es sinnvoll, die aktuellen Stände (oder den letzten Stand) auf der Webseite darstellen zu können.

Cronjobs wäre eine Möglichkeit, das zu realisieren. Mit systemd-timern können wir das allerdings flexibler umsetzen.

nano /etc/systemd/system/feinstaub.timer

[Unit]
Description=Diagrammausgabe der Feinstaubbelastung für bestimmte Tage im Jahr

[Timer]
Unit=feinstaub.service
OnCalendar=*-04-30 10,11,12,13,14,15,16,17,18,19,20,21,22,23:01:00
OnCalendar=*-05-01 00,01,02,03,04,05,06,07,08,09,10:01:00

[Install]
WantedBy=multi-user.target

nano /etc/systemd/system/feinstaub.service

[Unit]
Description=Diagramm zur Feinstaubbelastung aus Zabbix abspeichern
After=network.target

[Service]
Environment="OUTPUT_FILE_WIDTH=400"
Environment="OUTPUT_FILE_HEIGHT=200"

# URL unencode! und height/width entfernen
Environment="ZABBIX_URL=https://zabbix.ffggrz.de/chart.php?from=2023-04-30 11:00:00&to=now&itemids[187711]=187711&itemids[136085]=136085&itemids[134765]=134765&itemids[91169]=91169&itemids[113508]=113508&itemids[113859]=113859&itemids[77818]=77818&itemids[184261]=184261&itemids[73548]=73548&itemids[76010]=76010&itemids[76660]=76660&itemids[77644]=77644&itemids[77668]=77668&itemids[187710]=187710&itemids[184260]=184260&itemids[136084]=136084&itemids[134764]=134764&itemids[77817]=77817&itemids[73547]=73547&itemids[76009]=76009&itemids[76659]=76659&itemids[77643]=77643&itemids[77667]=77667&itemids[91168]=91168&itemids[113507]=113507&itemids[113858]=113858&type=0&profileIdx=web.item.graph.filter&profileIdx2=0&batch=1&_=w1c8dmh7&screenid="
Environment="OUTPUT_FILE=/var/www/html/joomla/tmp/feinstaub.png"

Type=oneshot
WorkingDirectory=/tmp
ExecStart=/usr/bin/wget "${ZABBIX_URL}&width=${OUTPUT_FILE_WIDTH}&height=${OUTPUT_FILE_HEIGHT}" -O "$OUTPUT_FILE"

[Install]
WantedBy=multi-user.target

Aktivierung

sudo systemctl daemon-reload
sudo systemctl enable feinstaub.timer
sudo systemctl enable feinstaub.service

sudo systemctl start feinstaub.timer
sudo systemctl start feinstaub.service

Das fertige Bild (https://www.buergernetz-gera-greiz.de/tmp/feinstaub.png) kann dann in Artikeln (im Joomla) oder anderweitig eingebunden werden.