Dies ist eine alte Version des Dokuments!
PDF-Automatisierung mit Bash & Cron – Raspberry Pi & DokuWiki
In diesem Mini-Kurs richtest du eine automatische PDF-Erzeugung für dein DokuWiki ein – ganz ohne manuelles Klicken. Das PDF wird täglich erstellt und auf deiner 32GB-SD-Karte gespeichert.
Schritt 1: Bash-Skript erstellen
Lege ein neues Skript an, das dein gesamtes Kursmaterial und die PDF-Übersicht automatisch exportiert:
sudo nano /home/pi/pdf_export.sh
Inhalt:
#!/bin/bash # PDF-Export-Skript für DokuWiki mit dw2pdf # Aktuelles Datum DATUM=$(date +%F) # Zielverzeichnisse ZIEL_KURS="/home/pi/pdf_exports/kursmaterial_${DATUM}.pdf" ZIEL_OVERVIEW="/home/pi/pdf_exports/uebersicht_${DATUM}.pdf" # Export-URLs URL_KURS="http://localhost/doku.php?do=export_pdfbook&id=start" URL_OVERVIEW="http://localhost/doku.php?do=export_pdfbook&id=pdfs:start" # PDF-Generierung wget -O "$ZIEL_KURS" "$URL_KURS" wget -O "$ZIEL_OVERVIEW" "$URL_OVERVIEW"
Dann ausführbar machen:
chmod +x /home/pi/pdf_export.sh
Schritt 2: Rechte korrekt setzen (HTML-Verzeichnis & PDF-Zielordner)
Damit der Webserver (www-data) und dein Pi-Nutzer (pi) beide auf das Webverzeichnis und den PDF-Ordner zugreifen können, richten wir gemeinsame Rechte ein. So sparst du dir künftig manuelles Rechte-Setzen im Terminal, und kannst direkt in FileZilla Ordner/Dateien anlegen und löschen.
Füge pi zur Gruppe www-data hinzu
sudo usermod -aG www-data pi
Setze Besitzer und Gruppe für das Webverzeichnis
sudo chown -R www-data:www-data /var/www/html
Vergib passende Rechte für alle Ordner
sudo find /var/www/html -type d -exec chmod 2775 {} \;
Und für alle Dateien
sudo find /var/www/html -type f -exec chmod 664 {} \;
Setze das setgid-Bit
sudo chmod g+s /var/www/html
✅ Ergebnis: Du kannst als <code>pi</code> direkt PDF-Dateien schreiben, Skripte anlegen oder Wiki-Dateien ändern – ohne <code>sudo</code>.
🔁 Danach einmal neu einloggen oder den Raspberry Pi neustarten, damit die neuen Gruppenrechte greifen.
Schritt 3: Zielverzeichnis für PDF-Dateien anlegen
mkdir -p /home/pi/pdf_exports
Schritt 4: Eigene PDF-Vorlage für dw2pdf einrichten (minimalistische ASCII-Version)
Wir erstellen eine einfache PDF-Vorlage ohne Bilder – ideal für Web-Laien, Schulungen und YouTube-Tutorials.
Verzeichnis anlegen
sudo mkdir -p /var/www/html/lib/plugins/dw2pdf/tpl/odp
Deckblatt (cover.html)
Pfad:
/var/www/html/lib/plugins/dw2pdf/tpl/odp/cover.html
<html> <head> <style> body { background: #ffffff; font-family: monospace; display: flex; align-items: center; justify-content: center; height: 100vh; font-size: 14pt; padding: 2em; text-align: center; } pre { line-height: 1.5; } </style> </head> <body> <pre> ____ ____ _____ ____ _ ____ _ _ _ __ | _ \| _ \| ____| _ \ / \ | _ \| | | | |/ / | | | | | | | _| | |_) | / _ \ | | | | | | | ' / | |_| | |_| | |___| _ < / ___ \| |_| | |_| | . \ |____/|____/|_____|_| \_/_/ \_\____/ \___/|_|\_\ DOKUWIKI – AUTOMATISCHER PDF-EXPORT Raspberry Pi & Bash Automation </pre> </body> </html>
Kopfzeile (header_even.html & header_odd.html)
Fußzeile (footer_even.html & footer_odd.html)
<div style="width: 100%; font-size: 8pt; text-align: center; color: #666;"> © Olaf Droste Products – wiki.droste-home.net </div>
→ Dann in DokuWiki aktivieren unter Admin → PDF Export (dw2pdf) → Vorlage: odp → Speichern
Schritt 5: Automatisierung mit Cron einrichten
crontab -e
Füge am Ende diese Zeile ein:
0 0 * * * /home/pi/pdf_export.sh
🕛 Jetzt wird jeden Tag um Mitternacht automatisch dein PDF und die Übersicht erzeugt und unter <code>/home/pi/pdf_exports/</code> abgelegt.
Schritt 6: PDF-Übersichtsseite im Wiki anlegen
Lege eine Seite `pdfs:start` mit folgendem Inhalt an:
```dokuwiki
PDF-Downloadübersicht
Hier findest du automatisch erzeugte PDFs deines Raspberry-Kurs-Wikis:
→ Diese Seite wird ebenfalls täglich als PDF gesichert.