igorekDE Posted October 17, 2022 Share Posted October 17, 2022 (edited) hi Gays, habe früher backup mit ein script gemacht weil er jeder container einzig stopt und startet also das ist der: #!/bin/bash TOKEN="" ID="" URL_MSG="https://api.telegram.org/bot$TOKEN/sendMessage" docker_containers=$(docker ps --all --format "{{.Names}}") cd /mnt/user/appdata && appdata_folders=(*) for i in "${appdata_folders[@]}" do coincidence=$(echo "${docker_containers[@]}" | grep "$i") if [[ -n $coincidence ]] then echo "stop cont $i" docker stop -t 60 $coincidence echo "kopiere datei $i" rsync -avP --delete --stats $i -r /mnt/user/Backups/Unraid/appdata echo "starte container $i" docker start $coincidence else echo "gibts kein container $i" curl -s -X POST $URL_MSG -d chat_id=$ID -d text="bei tatei "$i" gibts kein container⚠️" fi echo "-------" done also jetzt möchte ich statt rsync es mit borgbackup zu machen. wenn ich statt "rsync -avP --delete --stats $i -r /mnt/user/Backups/Unraid/appdata " dann "borg create --stats --progress --verbose --show-rc /mnt/user/backup/borg::appdata-`date +%Y%m%d%H-%M-%S` /mnt/user/appdata/$a " schreibe dann funktioniert es aber bisschen falsh. er packt jeder container in eizige archiv DIE FRAGE: Wie kann ich es machen dass es ist nur ein archiv ist mit alle container? Edited October 17, 2022 by igorekDE Quote Link to comment
Solution mgutt Posted October 18, 2022 Solution Share Posted October 18, 2022 Ersetze rsync gegen: cp -a --reflink=always /mnt/user/appdata/$i /mnt/user/appdata/backup/$i Dadurch wird von jedem Container ein lokaler Snapshot erstellt. Das belegt keinen extra Speicherplatz und dauert nur wenige Sekunden pro Container (Ausfallzeit des Containers reduziert sich entsprechend). Nach der Schleife also quasi in die letzte Zeile packst du dann dein Borg create, nutzt da den Quellpfad /mnt/user/appdata/backup und löschst danach die Quelle (wichtig, damit der nächste cp 1:1 ist und keine bereits gelöschten Dateien enthält): rm -r /mnt/user/appdata/backup Achtung: rm kann den gesamten Server löschen, wenn der Pfad entsprechend falsch gesetzt wird. Also immer genau prüfen bevor man rm ausführt. Auch Achtung: der Pfad /appdata/backup sollte natürlich von keinem Container in Verwendung sein. Falls doch musst du logischerweise einen anderen Namen wählen. Quote Link to comment
igorekDE Posted October 19, 2022 Author Share Posted October 19, 2022 Herzlichen Dank. Probiere ich aus Quote Link to comment
Anym001 Posted October 20, 2022 Share Posted October 20, 2022 @igorekDE warum verwendest du nicht einfach das "CA Appdata Backup / Restore v2" Plugin? Quote Link to comment
igorekDE Posted October 20, 2022 Author Share Posted October 20, 2022 14 hours ago, Anym001 said: @igorekDE warum verwendest du nicht einfach das "CA Appdata Backup / Restore v2" Plugin? Hallo, das problemm ist dass CA stoppt alle containers für 1,5 std. mache brauchen nur 10 sec. noch ist 7 tage 700gb mit borg ist immer 100gb nur Quote Link to comment
igorekDE Posted October 20, 2022 Author Share Posted October 20, 2022 (edited) On 10/18/2022 at 8:24 AM, mgutt said: Ersetze rsync gegen: cp -a --reflink=always /mnt/user/appdata/$i /mnt/user/appdata/backup/$i Dadurch wird von jedem Container ein lokaler Snapshot erstellt. Das belegt keinen extra Speicherplatz und dauert nur wenige Sekunden pro Container (Ausfallzeit des Containers reduziert sich entsprechend). Nach der Schleife also quasi in die letzte Zeile packst du dann dein Borg create, nutzt da den Quellpfad /mnt/user/appdata/backup und löschst danach die Quelle (wichtig, damit der nächste cp 1:1 ist und keine bereits gelöschten Dateien enthält): rm -r /mnt/user/appdata/backup Achtung: rm kann den gesamten Server löschen, wenn der Pfad entsprechend falsch gesetzt wird. Also immer genau prüfen bevor man rm ausführt. Auch Achtung: der Pfad /appdata/backup sollte natürlich von keinem Container in Verwendung sein. Falls doch musst du logischerweise einen anderen Namen wählen. cp reflink klappt irgendwie nicht Disk1 Xfs cache btrfs kann es deswegen werden? Edited October 20, 2022 by igorekDE Quote Link to comment
mgutt Posted October 20, 2022 Share Posted October 20, 2022 24 minutes ago, igorekDE said: cp reflink klappt irgendwie nicht Reflink funktioniert nur innerhalb der selben Partition. Du machst lokal die Reflink Kopie (die keinen Speicherplatz benötigt) und erst am Ende sicherst du diese Kopie auf den externen Datenträger (und löschst dann wieder die Reflink Kopie). 15 hours ago, Anym001 said: warum verwendest du nicht einfach das "CA Appdata Backup / Restore v2" Plugin? Das taugt ja echt gar nichts, muss ich mal sagen. Die Tage erst bei einem Kunden gehabt. Wie stellt man zb das Backup von einem Cotnainer wieder her. Und zwar wenn man keine Ahnung von der Konsole hat? Quote Link to comment
igorekDE Posted October 23, 2022 Author Share Posted October 23, 2022 On 10/18/2022 at 8:24 AM, mgutt said: Ersetze rsync gegen: cp -a --reflink=always /mnt/user/appdata/$i /mnt/user/appdata/backup/$i Dadurch wird von jedem Container ein lokaler Snapshot erstellt. Das belegt keinen extra Speicherplatz und dauert nur wenige Sekunden pro Container (Ausfallzeit des Containers reduziert sich entsprechend). Nach der Schleife also quasi in die letzte Zeile packst du dann dein Borg create, nutzt da den Quellpfad /mnt/user/appdata/backup und löschst danach die Quelle (wichtig, damit der nächste cp 1:1 ist und keine bereits gelöschten Dateien enthält): rm -r /mnt/user/appdata/backup Achtung: rm kann den gesamten Server löschen, wenn der Pfad entsprechend falsch gesetzt wird. Also immer genau prüfen bevor man rm ausführt. Auch Achtung: der Pfad /appdata/backup sollte natürlich von keinem Container in Verwendung sein. Falls doch musst du logischerweise einen anderen Namen wählen. noch eine frage wenn ich cp reflink gemacht habe, starten die contaners wieder, und dann beginnt borg. wenn es in diese Zeit Container ändert sich z.b nextcloud neue einstellung oder postgres in database neue bild gespeichert dann aber in /mnt/user/appdata/backup/$i ändert sich nix? ist es gleich wie bei rsync? Quote Link to comment
mgutt Posted October 23, 2022 Share Posted October 23, 2022 1 hour ago, igorekDE said: wenn es in diese Zeit Container ändert sich z.b nextcloud neue einstellung oder postgres in database neue bild gespeichert dann aber in /mnt/user/appdata/backup/$i ändert sich nix? Korrekt. Die Dateien bleiben in dem Zustand wie als der Container gestoppt wurde. Wenn der Container dann startet und Dateien ändert, schreibt er quasi neue Dateien. Quote Link to comment
Recommended Posts
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.