minikurse:raspberry:pdf_automatisierung_mit_bash_und_cron_raspberry_pi_und_dokuwiki:start

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 einem USB-Stick gespeichert. Perfekt für Anfänger ohne Spezialwissen!

→ Im Admin-Bereich auf „Erweiterungen verwalten“ klicken → Suche nach `dw2pdf` → Plugin installieren

Alternativ via Konsole:

cd /var/www/html/lib/plugins
git clone https://github.com/splitbrain/dokuwiki-plugin-dw2pdf.git dw2pdf
sudo systemctl restart apache2
sudo nano /home/pi/pdf_export.sh

Inhalt des Skripts:

#!/bin/bash
# ============================================================
# PDF-Export eines Namensraums (Ausgabe auf USB-Stick)
#
# HINWEIS:
# Dieses Skript erzeugt automatisch eine PDF aus dem Namensraum
# 'kurs:raspberry' und speichert sie auf einem USB-Stick.
# ============================================================
 
DATUM=$(date +%F)
PDF_ZIEL="/mnt/usb/kurs_raspberry_${DATUM}.pdf"
PDF_URL="http://localhost/doku.php?do=export_pdfns&book_ns=kurs:raspberry&book_title=Kurs%20Raspberry"
 
wget -O "$PDF_ZIEL" "$PDF_URL"
chown www-data:www-data "$PDF_ZIEL"
chmod 664 "$PDF_ZIEL"

1. USB-Stick einstecken 2. Gerät prüfen mit:

lsblk

3. Mount-Verzeichnis anlegen:

sudo mkdir -p /mnt/usb

4. USB-Stick einhängen (z. B. `/dev/sda1`):

sudo mount /dev/sda1 /mnt/usb

5. Testen:

touch /mnt/usb/test.txt
ls /mnt/usb
sudo chown -R www-data:www-data /mnt/usb
sudo chmod -R 775 /mnt/usb
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>
  <body>
    <div align="center">
      <img src="@WIKIURL@lib/exe/fetch.php?media=logo.png" width="300" alt="Logo" />
      <br/><br/>
      <font size="6"><b>Kurs: Raspberry – PDF-Export</b></font>
    </div>
  </body>
</html>

Kopfzeile (header_even.html & header_odd.html):

<div align="right"><font size="2">Seite [[@PAGE@]]</font></div>

Fußzeile (footer_even.html & footer_odd.html):

<div align="center"><font size="1" color="#888888">© Olaf Droste Products, Immermannstr. 31, 44147 Dortmund</font></div>

Vorlage aktivieren:

→ Admin → PDF Export → Template: odp

Platziere dein Logo im Wiki unter <code>media:logo.png</code> – am besten über den Media-Manager hochladen. Wenn du das Logo ins Wurzelverzeichnis (Namensraum `:`) hochlädst, erkennt DokuWiki es häufig automatisch.

crontab -e

Dort hinzufügen:

0 0 * * * /home/pi/pdf_export.sh
sudo /home/pi/pdf_export.sh

→ Danach prüfen:

  • Ist die PDF auf dem USB-Stick gespeichert?
  • Lässt sie sich problemlos auf einem anderen Gerät öffnen?

Fehler:

mount: /mnt/usb: special device /dev/sda1 does not exist.

→ Lösung: Gerätekennung prüfen mit:

lsblk

Dann ggf. mit richtigem Namen einhängen (z. B. `/dev/sda`):

sudo umount /mnt/usb
sudo mount /dev/sda /mnt/usb

Fehler:

touch: cannot touch '/mnt/usb/test.txt': Permission denied

→ Rechte setzen:

sudo chown -R www-data:www-data /mnt/usb
sudo chmod -R 775 /mnt/usb

Hinweis: Wenn du deine `/etc/fstab` verändert hast, aber der Mount-Befehl trotzdem nicht klappt:

sudo systemctl daemon-reexec

Mit diesem Skript exportierst du deine Kursinhalte automatisch und sicher auf deinen USB-Stick – ideal für Offline-Backups oder zur Weitergabe. Einzige Voraussetzung: das Plugin <code>dw2pdf</code>.

  • minikurse/raspberry/pdf_automatisierung_mit_bash_und_cron_raspberry_pi_und_dokuwiki/start.txt
  • Zuletzt geändert: 2025/06/29 13:52
  • von strangelove