July 26, 20223 yr Hallo Zusammen, da während meines Nexcloud backups sich häufig Sachen an der Datenbank ändern, muss ich diese relativ häufig neu aufbauen. Gibt es einen Weg, Aus dem Duplicati Container Nextcloud zu stoppen und nach dem Backup wieder zu starten. Genau dafür sollten ja die: --run-script-before=/config/scripts/stop_nextcloud.sh --run-script-after=/config/scripts/start_nextcloud.sh In den advanced Einstellungen ja da sein. Leider reichen meine Linx skills für mehr nicht aus In den Scripten habe ich #!/bin/sh docker start <duplicati ID> hinterlegt. In meinem Kopf macht es schon Sinn, das ein Container kein Script auf dem Host System ausführen kann, aber es muss ja irgendwie möglich sein. Der Weg über die User-Scripte gibt es ja auch noch, da sehe ich aber das Problem den gestoppten container wieder zu starten wenn Duplicati fertig ist. Danke für jede Hilfe Reeze Edited July 26, 20223 yr by reeze
July 26, 20223 yr Es gibt das CA AppBackup, was Docker vorher beenden kann und danach wieder startet.
July 26, 20223 yr Author Meinst du: Appdata Backup/Restore v2? Wie soll das im Zusammenspiel mit duplicati den Nextcloud ordner Sichern?
July 26, 20223 yr 3 minutes ago, reeze said: Wie soll das im Zusammenspiel mit duplicati den Nextcloud ordner Sichern? gar nicht ... ich schätze @Revan335 wollte auf eine Alternative hinweise anstelle Duplicati, anders kann ich es mir auch nicht erklären also, aus einem docker einen anderen starten, stoppen ... no way, du könntest jetzt über Hintertüren und einem userscript etwas in der Art erledigen ... aber ich denke ab jetzt wäre es einfacher zu schauen, kann man den duplicati job "extern" starten, dann wäre ein userscript wo docker stop a ... docker exec duplicati ..... docker start a .... durchführt. Ich nutze jetzt duplicati nicht mehr und habe dieses szenario auch nicht getestet ... da würde ich jedoch ansetzen, innerhalb des dockers per scripts alleine wird das nichts
July 26, 20223 yr @reeze stoppen kannst du den Container schon mal mit #!/bin/sh docker container stop <nextcloud ID> docker start <duplicati ID> Was bleibt, ist eine Abfrage ob ein bestimmter Conatiner noch aktive, wenn nein docker contaier start <nextcloud ID>
July 26, 20223 yr 5 minutes ago, Archonw said: @reeze stoppen kannst du den Container schon mal mit naja, wenn ich mich recht erinnere hat duplicati einen eigenen Zeitplan, sprich, nur durch docker start duplicati ... passiert meine ich nichts ... ich schätze @reeze will, NC stop, duplicati job ausführen, NC start
July 26, 20223 yr @reeze wird der Duplicati Container automatisch am Ende des Backups beendet? Wenn ja kann vielleeicht das "docker wait" Commando helfen.
July 26, 20223 yr 4 hours ago, reeze said: da während meines Nexcloud backups sich häufig Sachen an der Datenbank ändern, muss ich diese relativ häufig neu aufbauen. Gibt es einen Weg, Aus dem Duplicati Container Nextcloud zu stoppen und nach dem Backup wieder zu starten. Welche Datenbank? Die Nextcloud DB im MariaDB Container? Da hoffe ich mal stark das der Backup Job beide Container korrekt bedient (achte auf die Reihenfolge). Nur Nextcloud zu stoppen um dann die Datenbank zu sichern wird ein unvollständiges Backup provozieren (Rollback notwendig). docker stop nextcloud docker stop mariadb # Backup Nextcloud und MariaDB docker start mariadb docker start nextcloud Duplicati kenne ich nicht. Aber Du musst auf jeden Fall dafür sorgen das beide Container heruntergefahren werden.
July 26, 20223 yr 1 hour ago, alturismo said: gar nicht ... ich schätze @Revan335 wollte auf eine Alternative hinweise anstelle Duplicati, anders kann ich es mir auch nicht erklären Das ist korrekt. Da ich nichts beisteuern kann weil Docker isoliert sind und somit unabhängig vom Host und anderen Rockern. 1 hour ago, reeze said: Meinst du: Appdata Backup/Restore v2? Genau die. Kann mit Duplicati zwar auch manches vom Docker sichern. Aber durch die Änderungen im Betrieb bringt das nicht viel und manches geht auch nicht wegen Permission Error. Deshalb mach ich das Docker Backup per genannter App. Da kann man auch exklusions eintragen wo der Docker nicht neu gestartet/beendet/gestartet werden soll.
July 26, 20223 yr 2 hours ago, Archonw said: @reeze wird der Duplicati Container automatisch am Ende des Backups beendet? auch da, sofern ich den richtig in Erinnerung habe, Nope ... der hat ein eigenes feines webgui mit eigenen Parametern usw usw ... daher müsste man schauen ob sich ein "Job" extern anstoßen lässt, dann könnte man das per script in Angriff nehmen, wenn nicht ... ist der Ansatz eh hinfällig weil dann nur der interne Zeitplan greift, dann wäre einfach "Erfahrung" und entsprechend Docker stop/start extern separat setzen, wäre dann jedoch ohne Zusammenhang ...
July 26, 20223 yr Damit man aus Duplicati mit dem Docker Host sprechen kann benötigt man dieses zusätzliches Volume volumes: - /var/run/docker.sock:/var/run/docker.sock - /usr/bin/docker:/usr/bin/docker Dann sollt der Duplicati Container mit dem Docker Dienst vom Host sprechen können. Eventuell hilft dies hier auch noch https://forum.duplicati.com/t/run-script-before-after/7924/20 Edited July 26, 20223 yr by Archonw
July 27, 20223 yr Author Hi, vielen dank für die Rückmeldungen. Ich schau mir alles mal an. Mittlerweile schaue ich mir Rclone an, damit verschiebe ich schon ein Parr Dateien auf dem Server hin und her.
July 27, 20223 yr 11 minutes ago, reeze said: Mittlerweile schaue ich mir Rclone an, damit verschiebe ich schon ein Parr Dateien auf dem Server hin und her. rclone eher für die Synchronisation mit einem Cloud Dienst, rsync eher lokal bzw. SSH oder SMB remote. Es gibt hier dutzende Beispiele für Sync (inkl. Deleted am Target) bzw. Backup. Such einfach Mal nach rsync hier im Forum.
July 27, 20223 yr Schau dir mal mgutt Script fuer Backups an. Das ist ebenfalls sehr gut. Benutze es auch und hat mir die Tage erst sehr gut geholfen. Darin kannst du dann auch vor jedem Backup gezielt Container, wie Nextcloud oder MariaDB, stoppen und nachher auch wieder automatisch starten lassen.
July 27, 20223 yr Author 6 hours ago, hawihoney said: rclone eher für die Synchronisation mit einem Cloud Dienst, rsync eher lokal bzw. SSH oder SMB remote. Es gibt hier dutzende Beispiele für Sync (inkl. Deleted am Target) bzw. Backup. Such einfach Mal nach rsync hier im Forum. Ich synce auch auf Google Drive und verschlüssele das Backup. Nextcloud macht ja auch keinen Sinn wenn man es dann alles in Klartext zu Google schaufelt Ich schau mal weiter, danke bis hier hin
July 27, 20223 yr Community Expert Mir käme da diese Ideen 1.) - um zb 2 Uhr nachts startet Duplicati das Backup von appdata - also stoppt um 01:55 Uhr ein Skript alle Container (außer duplicati) - ein zweites Skript prüft a) ob gerade alle Container gestoppt sind und b) "überwacht" es den Backup-Ordner. Wenn für x Minuten kein Zugriff mehr erfolgt ist, werden alle Container gestartet 2.) Alternativ könnte man auch die Logs von Duplicati überwachen, sofern da angezeigt wird, dass der Job startet / stoppt. Allerdings wäre für einen Start Trigger notwendig, dass Duplicati für sagen wir mal 2 Minuten wartet, bevor der Job wirklich losgeht. Kann man das einstellen? 3.) Das hier geht nur, wenn appdata zu 100% auf /mnt/cache liegt: Ein Script stoppt alle Container, erstellt von appdata nach appdata_backup mit folgendem Befehl einen Snapshot: cp --archive --no-target-directory --reflink=always /mnt/cache/appdata /mnt/cache/appdata_backup und startet wieder alle Container. Das dauert nur wenige Sekunden (gerade ausprobiert mit 200GB großem appdata Verzeichnis). Danach macht duplicati ein Backup von appdata_backup und löscht die Quelldateien dabei wieder (kann das dupicati?). Hat den Charme, dass die Container nur wenige Sekunden gestoppt werden.
July 28, 20223 yr Author Hi, tasächlich habe ich in der Richtung auch schon gedacht. Ich habe gehofft das es eine "elegantere" Lösung gibt. Ich mache kein Backup vom appdata (das Mache ich tatsächlich mit CA Backup) sondern von den Nextcloud Userfiles also Fotos und Dokumente der Family. Offensichtlich verschluckt sich Duplicati wenn was an den Dateien geändert wird, während es den Index erstellt was hochgladen werden muss. Das war bis vor ein paar Monaten kein Problem, da nicht so viel auf Nextcloud geändert wurde bis auf die regelmäßigen Handybackups. Da nun die Kinder darauf Zugreifen und ich für den "erweiterten" Familienkreis accounts eingerichtet habe, ist da halt ständig Party drauf Ich denke ich werde vorerst ein Wartungsfenster einstellen, bei den ich einmal die Woche Nexcloud via script für ein paar Stunden offline nehme, bis der Index erstellt wurde
July 28, 20223 yr @REEZE ich kann dir nur wärmsten das script von mgutt empfehlen. https://forums.unraid.net/topic/117481-rsync-skript-für-inkrementelle-backups/ Benutze das genau aus dem gleichen Grund. Da kann man wie schon oben erwähnt durch einfügen von zewi Zeilen die Container stoppen und anschliessend wieder starten, die während des Backups nicht laufen sollen. Ich schaue aber auch die Tage nochmal, ob dein Weg mit Duplicati nicht doch auch geht. Da z.b. Watchtower auch fuer Containeraktualisierungen eben jeden starten und stoppen kann, sollte das somit fuer Duplicati auch möglich sein. Edited July 28, 20223 yr by Archonw
July 28, 20223 yr Author Hi, wenn ich mgutt‘s Script richtig verstanden habe, ist es nicht dafür gedacht verschlüsselt zu gdrive oder aws zu kopieren. Bitte korrigiert mich wenn ich falsch liege.
July 28, 20223 yr @reeze Folgendes am Duplicati Container ergänzen, dann sollte der Zugriff auf die Dockerumgebung aus Duplicati heraus klappen. Danach konnte ich mittels docker exec -it duplicati /bin/bash und anschließendem docker stop nextcloud meinen Nextcloud Container stoppen. Edited July 28, 20223 yr by Archonw
July 29, 20223 yr Leider hat das auch noch nicht ausgereicht, wie ich festellen musste. Noch kann Duplicat nicht auf Docker zugreifen. "no permission" Um das "hart" zu umgehen hab ich mal mit sudo chmod 660 /var/run/docker.sock die Rechte geändert. Das leif dann. Auch das Aendern der PGID und PUID auf "0" führt zum "zwangs" Erfolg. Da dadurch der Container mit root Rechten läuft, was ja auch nicht gewollt ist. Bleibt die Frage, unter welchem User versucht Duplicati auf Docker zu zu greifen, und wie kann ich den in Unraid dafuer frei geben. Edited July 29, 20223 yr by Archonw
July 29, 20223 yr Community Expert 18 hours ago, reeze said: wenn ich mgutt‘s Script richtig verstanden habe, ist es nicht dafür gedacht verschlüsselt zu gdrive oder aws zu kopieren. Zum mounten einer Cloud würde man rclone nutzen. Den Pfad könnte man dann auch im Skript als Ziel hinterlegen. Alternativ kann man auch rclone selbst für den Transfer verwenden.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.