@Pfandfinder,
ich habe hier alles einmal nachgestellt und nachgebaut. Die Befehle aus x13 funktionieren ohne Probleme! Zum Testen habe ich die MariaDB wie folgt erstellt:
Code:
services:
mariadb:
image: mariadb:11
container_name: paperless_db
restart: unless-stopped
volumes:
- ./database:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=123456
- MARIADB_DATABASE=paperless
- MARIADB_USER=paperless
- MARIADB_PASSWORD=xxx
Dadurch wird der MariaDB-Container erstellt und eine Datenbank "paperless" mit entsprechenden User und Passwort angelegt. Nach dem einmaligen Ausführen können die Werte: MYSQL_ROOT_PASSWORD, MARIADB_DATABASE, MARIADB_USER und MARIADB_PASSWORD eigentlich entfernt werden. Aber auch ein Belassen wäre kein Problem, dann sind diese Werte u.U. für alle Admin-User sichtbar. Diese Werte sind sowieso in der Datenbank direkt gespeichert.
Weil der Export zur Datenbank gehört und zur Übersichtlichkeit, legen wir den "export"-Ordner in "database" an. Im "paperless"-Ordner befinden sich noch die anderen gemounteten Ordner der restlichen Container. Nach dem ersten Starten von MariaDB sieht es wie folgt aus:
Jetzt erstellen wir eine Aufgabe mit dem Benutzer "root" direkt im Aufgabenplaner:
Code:
docker exec paperless_db mariadb-dump --user=paperless --password=xxx paperless > /volume1/docker/paperless/database/export/$(date +%Y-%m-%d_%H-%M)_paperless-dump.sql
Das Intervall musst du selbst festlegen, ist aber für das testen erst einmal irrelevant.
Nach dem manuellen Ausführen der Aufgabe schauen wir uns das Ergebnis an:
In der Filestation sieht das so aus:
Somit funktioniert alles, wie es soll. Natürlich kann man das auch direkt im Container anstoßen:
Code:
mariadb-dump --user=paperless --password=xxx paperless > /var/lib/mysql/export/$(date +%Y-%m-%d_%H-%M)_paperless-dump.sql
Dazu gehen wir ins Terminal der MariaDB-Container und wählen oben rechts aus "Mit Befehl starten".
Dort tippen wir "sh" ein, um das Terminal zu können:
Wir wechseln auf "sh" (links in der Leiste) und aktivieren den Einfügemodus mit Strg+A. Danach fügen wir mit Strg+V den kopierten Befehl in das Terminal ein. Jetzt nur noch Enter und der Dump wird erzeugt:
Beachte den angepassten Befehl, weil wir uns im Container befinden und nicht im Host-System!
Ich hänge hier die Container-Files an. Du musst nur das Archiv entpacken und in /docker auf der DS kopieren. Anschließend nur noch die enthaltene compose.yaml im Container Manager unter Projekt laden, einen Namen vergeben und starten. Da dieses Beispiel auf deinem Container basiert, musst du eine doppelte Namensgebung (Ordner & Container) unbedingt vermeiden und ggf. anpassen!