68 lines
1.7 KiB
Markdown
68 lines
1.7 KiB
Markdown
## 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
|
|
```
|