minikurse:raspberry:pdf_automatisierung_mit_bash_und_cron_raspberry_pi_und_dokuwiki:start

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!

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 – ohne automatische Übersichtsseite
 
# =============================================
# 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)
 
# Ziel-Datei: Speichern im Media-Ordner des Wikis, damit verlinkbar
PDF_ZIEL="/var/www/html/data/media/pdf_exports/kurs_raspberry_${DATUM}.pdf"
 
# PDF-Export-URL (dw2pdf Plugin, ganzer Namensraum)
PDF_URL="http://localhost/doku.php?do=export_pdfns&book_ns=kurs:raspberry"
 
# PDF erzeugen
wget -O "$PDF_ZIEL" "$PDF_URL"
 
# Rechte korrekt setzen
chown www-data:www-data "$PDF_ZIEL"
chmod 664 "$PDF_ZIEL"


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.
# ==========================================================
 
DATUM=$(date +%F)
 
# 1. Export: kurs:raspberry
PDF1_ZIEL="/var/www/html/data/media/pdf_exports/kurs_raspberry_${DATUM}.pdf"
PDF1_URL="http://localhost/doku.php?do=export_pdfns&book_ns=kurs:raspberry"
wget -O "$PDF1_ZIEL" "$PDF1_URL"
 
# 2. Export: kurs:wordpress
PDF2_ZIEL="/var/www/html/data/media/pdf_exports/kurs_wordpress_${DATUM}.pdf"
PDF2_URL="http://localhost/doku.php?do=export_pdfns&book_ns=kurs:wordpress"
wget -O "$PDF2_ZIEL" "$PDF2_URL"
 
# 3. Rechte korrekt setzen (für das Wiki lesbar)
chown www-data:www-data "$PDF1_ZIEL" "$PDF2_ZIEL"
chmod 664 "$PDF1_ZIEL" "$PDF2_ZIEL"

Ausführbar machen:

sudo chmod +x /home/pi/pdf_export.sh
mkdir -p /home/pi/pdf_exports
sudo chown -R pi:www-data /home/pi/pdf_exports
sudo chmod -R 775 /home/pi/pdf_exports
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

crontab -e

Einfügen:

0 0 * * * /home/pi/pdf_export.sh
sudo apt install php-mbstring -y
sudo systemctl restart apache2
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.

  • minikurse/raspberry/pdf_automatisierung_mit_bash_und_cron_raspberry_pi_und_dokuwiki/start.1751036732.txt.gz
  • Zuletzt geändert: 2025/06/27 17:05
  • von strangelove