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 SD-Karte gespeichert. Perfekt für Anfänger ohne Spezialwissen!
Schritt 1: Bash-Skript für PDF-Export + Übersichtsseite
sudo nano /home/pi/pdf_export.sh
Inhalt für den PDF-Export eines Namensraums + PDF-Link in Übersichtsseite:
#!/bin/bash # PDF-Export eines Namensraums + PDF-Link in Übersichtsseite einfügen # ============================================= # HINWEIS FÜR ANFÄNGER: # Dieses Skript exportiert genau EINEN Namensraum als PDF. # Wenn du weitere Namensräume exportieren willst, # musst du den entsprechenden Abschnitt duplizieren und anpassen. # Beispiel: 'kurs:raspberry' ersetzen durch 'kurs:wordpress' # ============================================= DATUM=$(date +%F) PDF_ZIEL="/home/pi/pdf_exports/kurs_raspberry_${DATUM}.pdf" # URL zum direkten PDF-Export des kompletten Namensraums (ohne Book-Seite) PDF_URL="http://localhost/doku.php?do=export_pdfns&book_ns=kurs:raspberry" # <-- PDF-Export des Namensraums kurs:raspberry ZIELDATEI="/var/www/html/data/pages/pdfs/start.txt" # PDF erzeugen wget -O "$PDF_ZIEL" "$PDF_URL" # Übersichtsseite im Wiki aktualisieren { echo "====== PDF-Downloadübersicht ======" echo "" echo "Hier findest du automatisch erzeugte PDFs deines Raspberry-Kurs-Wikis:" echo "" echo " * [[file:/home/pi/pdf_exports/kurs_raspberry_${DATUM}.pdf|📄 Kursmaterial vom ${DATUM}]]" echo "" echo "→ Diese Seite wird täglich automatisch aktualisiert." } > "$ZIELDATEI" # Rechte setzen chown www-data:www-data "$ZIELDATEI" chmod 664 "$ZIELDATEI"
Inhalt für den PDF-Export mehrerer Namensräume + automatische Wiki-Übersichtsseite
#!/bin/bash # ========================================================== # HINWEIS: # In den folgenden Zeilen wird jeweils ein kompletter Namensraum # deines Wikis in eine PDF-Datei exportiert. # Du kannst weitere Namensräume ergänzen, indem du das Muster kopierst # und 'kurs:raspberry' durch deinen gewünschten Namensraum ersetzt. # ========================================================== # 1. Export: kurs:raspberry PDF1_ZIEL="/home/pi/pdf_exports/kurs_raspberry_${DATUM}.pdf" PDF_URL="http://localhost/doku.php?do=export_pdfns&book_ns=kurs:raspberry" wget -O "$PDF1_ZIEL" "$PDF1_URL" # 2. Export: kurs:wordpress PDF2_ZIEL="/home/pi/pdf_exports/kurs_wordpress_${DATUM}.pdf" PDF_URL="http://localhost/doku.php?do=export_pdfns&book_ns=kurs:wordpress" wget -O "$PDF2_ZIEL" "$PDF2_URL" # 3. Wiki-Downloadseite automatisch aktualisieren ZIELDATEI="/var/www/html/data/pages/pdfs/start.txt" { echo "====== PDF-Downloadübersicht ======" echo "" echo "Hier findest du automatisch erzeugte PDFs deiner Kurse:" echo "" echo " * [[file:/home/pi/pdf_exports/kurs_raspberry_${DATUM}.pdf|📄 Raspberry-Kurs vom ${DATUM}]]" echo " * [[file:/home/pi/pdf_exports/kurs_wordpress_${DATUM}.pdf|📄 WordPress-Kurs vom ${DATUM}]]" echo "" echo "→ Diese Seite wird täglich automatisch aktualisiert." } > "$ZIELDATEI" # 4. Rechte korrekt setzen (für das Wiki lesbar) chown www-data:www-data "$ZIELDATEI" chmod 664 "$ZIELDATEI"
Ausführbar machen:
sudo chmod +x /home/pi/pdf_export.sh
Schritt 2: Zielverzeichnis für PDF-Dateien anlegen
mkdir -p /home/pi/pdf_exports
Schritt 3: Rechte korrekt setzen (PDF-Zielordner)
sudo chown -R pi:www-data /home/pi/pdf_exports sudo chmod -R 775 /home/pi/pdf_exports
Schritt 4: Eigene PDF-Vorlage mit ASCII-Deckblatt einrichten
sudo mkdir -p /var/www/html/lib/plugins/dw2pdf/tpl/odp
<html> <head> <style> pre { font-family: monospace; white-space: pre-wrap; text-align: center; font-size: 14pt; } </style> </head> <body> <pre> ██████╗ ██████╗ ███████╗ ██╔══██╗██╔══██╗██╔════╝ ██████╔╝██████╔╝█████╗ ██╔═══╝ ██╔═══╝ ██╔══╝ ██║ ██║ ███████╗ ╚═╝ ╚═╝ ╚══════╝ PDF-Kursmaterial </pre> </body> </html>
Kopfzeile (header_even.html & header_odd.html):
<div style="text-align:right; font-size:10pt;"> Seite [[@PAGE@]] </div>
Fußzeile (footer_even.html & footer_odd.html):
<div style="text-align:center; font-size:8pt; color:#999;"> © Olaf Droste Products, Immermannstr. 31, 44147 Dortmund </div>
Vorlage aktivieren:
→ Admin → PDF Export → Template: odp
Schritt 5: Cronjob für täglichen PDF-Export + Übersichtsseite einrichten
crontab -e
Einfügen:
0 0 * * * /home/pi/pdf_export.sh
Schritt 6: PHP-Erweiterung installieren (nur beim ersten Mal nötig)
sudo apt install php-mbstring -y sudo systemctl restart apache2
Schritt 7: Testen
sudo /home/pi/pdf_export.sh
→ Prüfe:
- Liegt eine neue PDF im Ordner
/home/pi/pdf_exports/
?
- Ist die Seite
pdfs:start
im Wiki automatisch aktualisiert?
Tipp: Diese Lösung funktioniert ohne Zusatzseiten, ohne Bücher und ist ideal für Einsteiger. Nur <code>dw2pdf</code> wird benötigt.