## Ziel-Struktur: alles in einem Verzeichnis ~/mmp_logger/ ``` mmp_logger/ ├─ mmp_logger.py ├─ requirements.txt ├─ config.json ├─ cost_centers.json ├─ data/ │ └─ mmp.sqlite ├─ logs/ │ └─ mmp_logger.log └─ reports/ ├─ report_weekly.md ├─ report_weekly.html └─ report_weekly.pdf (optional) ``` ## Im Projektordner auf dem MAC ausführen ```python python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt python3 mmp_logger.py --config config.json poll python3 mmp_logger.py --config config.json report --period weekly ``` ## auf dem pi ``` sudo mkdir -p /opt/mmp_logger sudo chown -R pi:pi /opt/mmp_logger ``` #### übertragen auf Pi ``` rsync -av --delete ./mmp_logger/ pi@raspberrypi:/opt/mmp_logger/ ``` ### Pi: venv + deps: ``` cd /opt/mmp_logger python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt mkdir -p data logs reports ``` ### Cron (stündlich) im Projekt, Logs im Projekt crontab -e (User pi): ``` SHELL=/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 5 * * * * cd /opt/mmp_logger && /opt/mmp_logger/.venv/bin/python /opt/mmp_logger/mmp_logger.py --config /opt/mmp_logger/config.json poll >> /opt/mmp_logger/logs/mmp_logger.log 2>&1 20 0 * * * cd /opt/mmp_logger && /opt/mmp_logger/.venv/bin/python /opt/mmp_logger/mmp_logger.py --config /opt/mmp_logger/config.json report --period weekly >> /opt/mmp_logger/logs/mmp_report.log 2>&1 ``` ## Empfehlung zur Ausgabe Markdown: gut für Git/Archiv/Lesbarkeit, diffbar HTML: gut fürs schnelle Öffnen im Browser, ggf. später ins Intranet PDF: optional per pandoc (am Pi stabil). Install: ``` sudo apt-get update sudo apt-get install -y pandoc ```