Wie erzwinge ich den Stopp von rsync, wenn die Zielfestplatte voll ist?

Wie erzwinge ich den Stopp von rsync, wenn die Zielfestplatte voll ist?

Ich verwende rsync (Version 3.1.0 auf einem CentOS), um einige Sicherungsaufgaben durchzuführen. Ich entwickle eine Software, die meine rsync-Prozesse überwacht, um die Sicherungskonfiguration an meine Geschäftslogik anzupassen.

Meine Software startet einige Rsync-Prozesse und analysiert die Rsync-Ausgabe, um Benachrichtigungen zu senden.

Ich stehe vor einer seltsamen Situation.

Meine Zielfestplatte ist voll. Meine Software startet mit dem folgenden Befehl ein rsync-Backup auf dieser Festplatte:

rsync -irlpt --no-perms --stats /src /media/dst/

/media/dst ist eine externe USB3-Festplatte, die in Fuseblck (NTFS) gemountet ist.

/src ist ein Ordner, der 50 GB an Bildern, Filmen und einigen Textdateien enthält.

Da diese Festplatte voll ist, möchte ich, dass rsync schnell beendet wird und einen Fehler zurückgibt.

Der rsync-Prozess dauert jedoch sehr lange. (Ich habe ihn nach 10 Stunden manuell gestoppt.) Nachdem ich ihn gestoppt habe, kann ich viele Spuren lesen, wie diese hier:

rsync: mkstemp "/media/dst/.20160518-130315-underwaterposition-VI_GAPS.pos.DIksdT" failed: No space left on device (28)

Für mich ist diese Meldung normal, da auf dem Gerät kein Speicherplatz mehr vorhanden ist.

Meine Fragen sind also:

Warum wird rsync nicht gestoppt, sobald es erkennt, dass auf dem Zielgerät kein Speicherplatz mehr vorhanden ist?

Gibt es eine Möglichkeit, dieses Verhalten zu erzwingen?

verwandte Informationen