February 2, 20215 yr Hallo, ich möchte gerne das Backup Script von @mgutt bei meiner externen Festplatte hinterlegen. Sehe ich das richtig, das man ein spezielles Script fix zu einem Device zuordnen kann (wie im Screenshot), aber auch ein globales Script anlegen und dieses dann zuordnen kann? Im konkreten Fall möchte ich, dass wenn ich die Festplatte einstecke, diese automatisch gemountet wird und das Backup Script startet. Habe ich dazu die Einstellungen richtig getroffen?
February 2, 20215 yr Community Expert Ich denke das geht beides. Du musst aber in den Settings die Pfade anpassen. Denke da ist klar.
February 2, 20215 yr Author 1 minute ago, mgutt said: Ich denke das geht beides. Du musst aber in den Settings die Pfade anpassen. Denke da ist klar. Okay super danke. Die Pfade habe ich bereits angepasst. Welchen Zusatz bräuchte ich noch, damit die Festplatte automatisch unmounted wird?
February 2, 20215 yr Community Expert umount /mnt/pfad_der_platte Oder was auch gehen könnte (sdX anpassen): eject /dev/sdX
February 2, 20215 yr Author 4 minutes ago, mgutt said: umount /mnt/pfad_der_platte Einfügepunkt wäre zwischen den zwei letzten done`s oder? fi echo "Delete $backup" rm -r "${backup_path}/${backup}" done umount /mnt/pfad_der_platte done
February 2, 20215 yr Community Expert 10 minutes ago, Anym001 said: Einfügepunkt wäre zwischen den zwei letzten done`s oder? Nein ganz am Ende. Wenn du es vor das erste done packst, dann bist du noch in der Schleife, die die Quellpfade durcharbeitet: for source_path in "${source_paths[@]}"; do Dh die Zielplatte wird nach dem Sichern des ersten Quellpfads rausgeworfen.
February 2, 20215 yr Author Kann dieses Script auch für differentielle Backups verwendet werden? Ich möchte zb nicht alle 14 Tage ein volles Backup machen. (Möchte mein komplettes System auf die externe HDD sichern -> ca. 2,5TB -> Backupdauer) Er soll mit rsync die angegeben Shares durchprüfen, ob sich Änderungen ergeben haben. Falls ja, dann übertragen und sonst nicht. Falls Dateien in Unraid gelöscht wurden, sollen diese auch auf der HDD gelöscht werden. Vielleicht hast du da ja eine Idee dazu.
February 2, 20215 yr Community Expert 2 hours ago, Anym001 said: Falls ja, dann übertragen und sonst nicht. Genau das passiert bereits. Alle Dateien, die bereits auf dem Ziel im letzten Backup existieren, werden nicht erneut übertragen, sondern nur per Hardlink verlinkt. Zwar ist so jeder Ordner ein Voll-Backup, aber das ist nur ein "optischer" Nachteil. Mehr Speicherplatz wird dadurch nicht belegt. Normalerweise ist das ja so: Beispiel: Vollbackup + 3 Tages-Backups Bei differentiellen Backups brauchst du das Vollbackup und das letzte Tages-Backup für die Wiederherstellung. Bei inkrementellen Backups brauchst du das Vollbackup und alle 3 Tages-Backups für die Wiederherstellung. Bei meinem Hardlink-Backup brauchst du nur das letzte Backup.
February 2, 20215 yr Author 46 minutes ago, mgutt said: Genau das passiert bereits. Dann hab ich wohl dein Script noch nicht ganz verstanden. Muss ich am Script etwas verändern, wenn ich einmal wöchentlich sichere? (Normal jeden Sonntag) Die Einstellung der Zeit-Variablen verwirrt mich leider noch etwas.
February 2, 20215 yr Community Expert 33 minutes ago, Anym001 said: Muss ich am Script etwas verändern, wenn ich einmal wöchentlich sichere? (Normal jeden Sonntag) In meinem Script kannst du nur die Aufbewahrungsfristen definieren. Wie oft du sicherst, entscheidest du an Hand dessen wann du das Script ausführst. Die Fristen: days=14 # preserve backups of the last X days months=12 # preserve backups of the first day of the last X month years=3 # preserve backups of the first january of the last X years Wenn du nur Sonntags sicherst, solltest du die "days" erhöhen. Also wenn du die Backups der letzten 4 Wochen behalten möchtest, dann entsprechend "days=28". Jährliche Backups werden zB nur aufgehoben, wenn sie am 01.01. erstellt wurden. Wurde ein Backup am 02.01. erstellt, dann wird es gelöscht, wenn es älter ist als "days". An dieser Einschränkung arbeite ich noch.
February 3, 20215 yr Author 13 hours ago, mgutt said: An dieser Einschränkung arbeite ich noch. Okay alles klar. Welches Dateisystem benötige ich für diese Art von Script? XFS und EXT4 müsste beides gehen oder? Wie funktioniert das mit der Benennung der Ordner? Also mit Punkt und ohne Punkt? (zB .20210203_065000 / 20210203_065000)
February 3, 20215 yr Author 21 hours ago, mgutt said: Nein ganz am Ende. Habe ganz am Ende folgendes hinzugefügt: ... echo "Delete $backup" rm -r "${backup_path}/${backup}" done done echo "Wait 30 seconds until unmount the device." sleep 30s echo "Unmount the device." umount /mnt/disks/WD_My_Passport_260D Leider gibt er mir trotz sleep Funktion folgenden Fehler im Log aus: umount: /mnt/disks/WD_My_Passport_260D: target is busy.
February 3, 20215 yr Community Expert 3 hours ago, Anym001 said: umount: /mnt/disks/WD_My_Passport_260D: target is busy. Dann vermute ich, dass UD die "Macht" hat. Prüfe wie folgt: lsof /mnt/disks/WD_My_Passport_260D Oder: fuser -m /mnt/disks/WD_My_Passport_260D Eventuell muss man dann den umount erzwingen.
February 3, 20215 yr Author Muss ich diese Befehle direkt im Script hinzufügen? Wenn ich diese in Unraid im Terminal ausführe, kommen keine Ergebnisse. Habe auch probiert, dass ich am Ende des Scripts ein cd einbaue, weil das scheinbar manchmal zu Problemen führt. -> Leider ohne Erfolg.
February 3, 20215 yr Community Expert 2 hours ago, Anym001 said: Wenn ich diese in Unraid im Terminal ausführe, kommen keine Ergebnisse. Und wenn du im Terminal den umount ausführst?
February 3, 20215 yr Community Expert 14 hours ago, Anym001 said: Welches Dateisystem benötige ich für diese Art von Script? XFS und EXT4 müsste beides gehen oder? Wie funktioniert das mit der Benennung der Ordner? Also mit Punkt und ohne Punkt? XFS und EXT4 unterstützen beide Hardlinks. Sollte also mit beiden gehen. Backups mit "." sind laufende Backups oder Backups, die nicht erfolgreich waren.
February 4, 20215 yr Author 22 hours ago, mgutt said: Und wenn du im Terminal den umount ausführst? Hier funktioniert es ohne Probleme.
February 4, 20215 yr Community Expert 16 minutes ago, Anym001 said: Hier funktioniert es ohne Probleme. Dann vermute ich, dass das Backup noch nicht fertig ist. Linux kann den RAM als Zwischenspeicher nutzen. Kannst du evtl hören ob die Platte noch aktiv ist? Probier mal das: timeout 1000 bash -c -- 'while umount /mnt/disks/WD_My_Passport_260D; sleep 30;done' Die Idee ist es alle 30 Sekunden den Unmount zu versuchen und wenn es nach 1000 Sekunden immer noch nicht geklappt hat, bricht er ab (zur Sicherheit, damit es nicht unendlich lange läuft). Eine Kombination aus dem: https://unix.stackexchange.com/a/78514/101920 und dem: https://stackoverflow.com/a/27555865/318765
February 6, 20215 yr Author On 2/4/2021 at 4:41 PM, mgutt said: Probier mal das: timeout 1000 bash -c -- 'while umount /mnt/disks/WD_My_Passport_260D; sleep 30;done' Leider ohne Erfolg. Folgende Fehlermeldung: bash: -c: line 0: syntax error near unexpected token `done' bash: -c: line 0: `while umount /mnt/disks/WD_My_Passport_260D; sleep 30;done' Eine wäre noch, die Festplatte über den Path zur Partition zu entfernen. (/dev/sde1) -> Nur ist die Frage, bleibt die immer gleich oder kann sich die auch verändern? Wenn ich nämlich das Logfile anschaue, dann wird bei einem manuell unmount wie folgt vorgegangen: Feb 6 09:39:26 nas unassigned.devices: Running device script: 'WD_My_Passport_260D.sh' with action 'UNMOUNT'. Feb 6 09:39:27 nas unassigned.devices: Unmounting disk 'WD_My_Passpo'... Feb 6 09:39:27 nas unassigned.devices: Unmounting '/dev/sde1'... Feb 6 09:39:27 nas unassigned.devices: Unmount cmd: /sbin/umount '/dev/sde1' 2>&1 Feb 6 09:39:27 nas kernel: XFS (sde1): Unmounting Filesystem Feb 6 09:39:27 nas unassigned.devices: Successfully unmounted '/dev/sde1' Feb 6 09:39:27 nas unassigned.devices: Disk with serial 'My_Passport_260D_XXX', mountpoint 'WD_My_Passport_260D' removed successfully. Feb 6 09:39:27 nas unassigned.devices: Running device script: 'WD_My_Passport_260D.sh' with action 'REMOVE'. Feb 6 09:39:38 nas kernel: usb 2-2: USB disconnect, device number 2 Edited February 6, 20215 yr by Anym001
May 8, 20215 yr Moin, bevor ich nen neue Threat erstelle, greife ich das ganze hier lieber noch einmal auf. -Konntet ihr das umount am ende des Skripts zum laufen bekommen? -Wie sieht es mit einem automatischen mount des Laufwerks aus? Ich würde das Laufwerk gerne an nem Hot-Plug Sata angeschlossen lassen, jedoch nur fürs Backup gemounted haben wollen. Die Idee wäre es dann das Laufwerk per User Script zu mounten und wenn der mount erfolgreich war das Backup Script per UD ausführen zu lassen. Am Ende vom Backup-Script dann der umount. Das Backup per Script soll dafür auch nur einmal im Monat laufen. So ich wie das verstanden habe, bietet sich da dann immer der 1. eines Monats an. Nur dann blieben mir "monatliche Inkrementelle" Backups? Leider fehlt mir hier wieder das Know-How wie ich per Script/Terminal ein Laufwerk mounte. Vielleicht kann mir hier jemand nen Denkanstoß geben. Danke. Edited May 8, 20215 yr by sonic6
August 17, 20214 yr https://forum.thegeekfreaks.de/forum/index.php?thread/192-automatisches-backup-auf-externe-hdd-usb-stick-hdd-ect/ Habe das Script nach meinen Wünschen angepasst.
August 17, 20214 yr @Unraid_Haupt Sei mir nicht Böse, aber Quote @Alex, falls du das als Video machen willst, würde ich es wünschen, erwähnt zu werden Nur weil du 5 Zeilen eingefügt hast und alles passende hier schon im Thread steht. Die Hauptarbeit hat trotzdem @mguttgemacht. Ich reagiere bei sowas immer etwas empfindlich. Nehm es nicht persönlich, hab mit sowas schlechte Erfahrung gemacht. Da hätte ich es Fair gefunden ihn zu erwähnen. Wenn es nämlich Probleme mit dem Script gibt gehen alle Rückfragen an ihn. Edited August 17, 20214 yr by i-B4se
July 13, 20223 yr ein forced umount kann dazu führen dass unraid diese disk als aus einem "broken array" ansieht und man diese erst nach einem reboot von unraid wieder mounten kann (fragt mich woher ich das weis 😅 ) unmount sollte man daher nur unassigned devices machen lassen, nicht manuell via 'umount'. aus meinem script /usr/local/sbin/rc.unassigned umount '/dev/disk/by-uuid/3C9751517A72CC80' uuid muss man natürlich die seiner disk eintragen Edited July 13, 20223 yr by cholzer
July 13, 20223 yr Community Expert On 2/2/2021 at 9:31 AM, mgutt said: Oder was auch gehen könnte (sdX anpassen): eject /dev/sdX Hierzu eine Frage: Kann man irgendwie festlegen, daß unraid einer bestimmten (wiedererkannten) Festplatte immer die selbe 'sdX' Kennung zuweist (sofern diese frei ist)? Mir ist aufgefallen, daß unraid beim Booten wohl neu sortiert und wenn sich in der Hardware da etwas geändert hat, stimmt diese Zuordnung nicht mehr. Das ist ärgerlich, wenn man eben Scripte/Befehle vorbereitet nutzt, die eben mit "sdX" arbeiten.
July 13, 20223 yr 26 minutes ago, DataCollector said: Das ist ärgerlich, wenn man eben Scripte/Befehle vorbereitet nutzt, die eben mit "sdX" arbeiten. Deshalb findest Du an vielen Stellen den Hinweis, dass man nicht mit /dev/sdx arbeiten soll sondern mit /dev/disk/by-id/x. Beide können gleich verwendet werden. Eine neue /dev/sdx Bezeichnung erhältst Du in der Regel nur beim Ändern der Hardware. Das liegt einfach am Linux Unterbau.
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.