rsync bricht ab aufgrund von fehlendem Speicherplatz

  • Hallo zusammen,


    ich stoße aktuell an die Grenzen meines rsync-Wissens und würde mich über ein paar Tipps sehr freuen.


    Ich habe hier eine kleine Netzwerk-Festplatte, die täglich via BorgBackup lokal auf eine zweite Platte gesichert wird.


    Nun wollte wollte ich als nächsten Schritt mal ein simples Backup erstellen, welches auf eine Hetzner Storage Box außerhalb der eigenen vier Wände geschoben wird.


    Dafür würde es mir komplett ausreichen, wenn einfach nur regelmäßig eine Spiegelung des NAS-Inhaltes auf die Box geschehen würde.


    Um aber auch erst einmal initial den Datenbestand abzugleichen, habe ich versucht mit folgendem Befehl einmal die Daten an die Box zu übertragen. Leider kommt es nun bei nahezu immer demselben Stand (nach einer sehr langen Weile) dazu, dass rsync mir meldet, dass die Festplatte voll wäre und kein Speicher mehr für die Operation zur Verfügung stünde (wenn der nächste Durchlauf fehlschlägt, werde ich auch den genauen Wortlaut hier einfügen, sorry).


    Code
    rsync -rtzua -bwlimit=5000 --stats --progress /media/nas /media/storagebox

    Seht ihr hier schon einen Fehler was die Einstellungen von rsync betrifft? Ich rede hier von einem kleinen Datenbestand von ca. 250-300 GB - das Quelllaufwerk (4 TB) hat nichts weiter als diese Daten gespeichert und auch das Ziellaufwerk (Storagebox 500 GB) verfügt eigentlich über ausreichend Festplattenkapazität. Ich hatte es bereits auch schon ohne -z (Komprimierung) ausprobiert, da ich die Problematik von anderen Tools kenne, dass diese sich erstmal alles zusammenkopieren für eine maximale Kompression. Allerdings war das auch erfolglos. Vielleicht habt ihr ja noch eine gute Idee :)


    Kurzer Nachtrag

    Heute morgen war dann erwarteterweise die Fehlermeldung da:


    Bash
    rsync: write failed on "/media/storagebox/nas/Fotos/2016/10 Oktober/20161020_221308.mp4": No space left on device (28)
    rsync error: error in file IO (code 11) at receiver.c(393) [receiver=3.1.1]
    ./storagebox_sync_nas_to_storagebox.sh  7230.07s user 244.01s system 96% cpu 2:08:46.09 total

    .NET-, Unity3D-, Web-Dev.
    Mikrocomputer-Hobbyist.

    Edited once, last by Renão: Fehlermeldung nachgetragen (Versprochen ist versprochen :-)) ().

  • Der genaue Wortlaut waere sicherlich hilfreich ;)


    Aber abgesehen davon denke ich dass wohl der Zielspace zu klein ist denn ich gehe davon aus dass rsync da keinen Schmarrn meldet.


    Probiere doch mal ein Backup nicht mit 200GB sondern z.B. dem beruehmt beruechtigten HelloWorld.c Programm. Da solltest Du wohl keine Spaceprobleme bekommen :)

    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect."

    Linus Benedict Torvalds, 28.9.2003


    Hast Du die Woche schon Deine Raspberry gesichert =O Bei mir tut das raspiBackup automatisch ;)

  • Danke schon mal für deine Rückmeldung :)


    Ich lasse seit einiger Zeit den Task noch einmal laufen um an die Fehlermeldung zu kommen, melde mich daher damit auf jeden Fall kurzfristig :)


    Ansonsten ist es meiner Meinung nach aber merkwürdig, dass bereits rund 57 GB aufs Zielmedium übertragen wurden und nun scheinbar immer an dieser kritischen Stelle die Übertragung abbricht.


    Ansonsten schaue ich mal, was mir da bisweilen HelloWorld.c mäßig bisher durch die Lappen gegangen ist :P

    .NET-, Unity3D-, Web-Dev.
    Mikrocomputer-Hobbyist.

  • Die -a archive Option beinhaltet schon die Optionen -rlptgoD

    -rt ist daher in -a schon enthalten

    rsync besitzt eine --dry-run Option, womit alle Änderungen angezeigt, aber nicht gespeichert werden


    Vielleicht fängst Du mit dem Studium der Dokumentation < man rsync > und danach

    mit < rsync -av --dry-run Quelle Ziel > an, in beide Richtungen und tastest Dich in den Optionen, je nach Deinen Bedürfnissen langsam hoch.


    Mit zwei gemounteten Geräten bist Du übrigens im lokalen Modus, die anderen Modi (samt bwlimit) brauchst Du nicht.


    Servus !

    RTFM = Read The Factory Manual, oder so

  • /media/storagebox

    Hier befindet sich aber die gemountete Storage-Box und nicht nur das lokale Dateisystem?


    ACHTUNG:

    Wenn durch einen Fehler das Dateisystem beim Schreiben in diesen Verzeichnis nicht nicht gemountet war, dann wird auf das lokale Dateisystem geschrieben. Löschen kann man die Daten nur, wenn das dort zu mountende Dateisystem nicht gemountet ist.

    Selber denken,
    wie kann man nur?

  • Danke für die Hinweise, das mit -a hatte ich auch gelesen, scheinbar ist da in den letzten Versuchen bei mir nur noch Cargo Cult passiert. Das mit den zwei gemounteten Geräten wusste ich bspw. noch gar nicht, auch wenn es irgendwie einleuchtend ist.


    Mein Problem ist, dass der Dry Run immer fehlerfrei verlief und keine Probleme festgestellt wurde. Wenn dann aber wirklich Daten übertragen werden, scheitert's scheinbar immer nach einer ähnlichen Dauer oder Datenmenge :-/.

    Hier befindet sich aber die gemountete Storage-Box und nicht nur das lokale Dateisystem?


    ACHTUNG:

    Wenn durch einen Fehler das Dateisystem beim Schreiben in diesen Verzeichnis nicht nicht gemountet war, dann wird auf das lokale Dateisystem geschrieben. Löschen kann man die Daten nur, wenn das dort zu mountende Dateisystem nicht gemountet ist.

    Ja, genau.


    Ich habe gerade noch einmal aus der SSH Verbindung eine Datei auf der Storage Box erstellt und konnte die neue Datei hier am Laptop via Finder auf der Storage Box sehen.

    .NET-, Unity3D-, Web-Dev.
    Mikrocomputer-Hobbyist.

  • So, ich habe dann noch einmal (wie von euch vorgeschlagen) mein Mirror-Skript wie folgt angepasst und gerade noch mal für heute Nacht gestartet:


    Code
    rsync -av --stats --progress /media/nas /media/storagebox


    Ein vorheriger Dry Run via -nav lief ohne Probleme durch.


    Mal sehen, was ich morgen früh zu berichten habe :)

    .NET-, Unity3D-, Web-Dev.
    Mikrocomputer-Hobbyist.

  • So, ich habe dann noch einmal (wie von euch vorgeschlagen) mein Mirror-Skript wie folgt angepasst

    Ich habe nie Dein Mirror Script vorgeschlagen, sondern darauf hingewiesen, dass Deine Idee etwas ungewöhnlich ist (Client - Server Struktur).


    Meine Glaskugel sagt nur noch, dass gelöschte Files in der storagebox möglicherweise nur in eine versteckte .trash Datei verschoben werden, was Du mit Disk Usage (du) und den passenden Optionen aber leicht herausfinden kannst.



    Servus !

    RTFM = Read The Factory Manual, oder so