staging.inyokaproject.org

Problem mit rsync

Status: Gelöst | Ubuntu-Version: Ubuntu 10.10 (Maverick Meerkat)
Antworten |

LinusNichtTorvalds

Avatar von LinusNichtTorvalds

Anmeldungsdatum:
7. August 2008

Beiträge: 1626

Tag zusammen ☺

Habe mir gerade mal eine winziges backup-script für rsync erstellt, das will aber irgendwie nicht so richtig funktionieren. Im Zeil-Verzeichnis existieren nach dem Durchlaufen des Scripts immer noch Dateien, die im Quell-Verzeichnis nicht mehr da sind (trotz --delete). Außerdem fehlen im Ziel-Verzeichnis etliche Dateien. Nachtrag: rsync bearbeitet viele Verzeichnisse nicht rekursiv, trotz -a. Es werden nur versteckte Ordner (z. B. .adobe) rekursiv bearbeitet.

Das Script gibt zum Ende ein paar Fehlermeldungen aus:

rsync: writefd_unbuffered failed to write 4 bytes to socket [sender]: Broken pipe (32)
rsync error: error in file IO (code 11) at receiver.c(302) [receiver=3.0.7]
rsync: connection unexpectedly closed (968 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(601) [sender=3.0.7]

Fehlen noch Parameter oder setze ich irgendetwas falsch?

Script:

#! /bin/bash
bak_target=/media/LINUS_EXTER_/backup

if [ ! -e $bak_target ]  						#Prüfung, ob Backup-Verzeichnis existiert
 then 
  	echo "Backup-Verzeichnis existiert nicht!"
 else
	sudo rsync -a --delete /etc/ $bak_target/etc 			#Systemeinstellungen sichern
	sudo rsync -a --delete /home/linus/ $bak_target/linus		#Home-Verzeichnis sichern
fi

Beste Grüße

Linus

redknight Team-Icon

Moderator & Supporter
Avatar von redknight

Anmeldungsdatum:
30. Oktober 2008

Beiträge: 21668

Hast du mal einen DRY RUN gemacht, mit Paramater -n ?Also in etwa

sudo rsync -aPn --delete /home/linus/ $bak_target/linus

LinusNichtTorvalds

(Themenstarter)
Avatar von LinusNichtTorvalds

Anmeldungsdatum:
7. August 2008

Beiträge: 1626

redknight schrieb:

Hast du mal einen DRY RUN gemacht, mit Paramater -n ?Also in etwa

sudo rsync -aPn --delete /home/linus/ $bak_target/linus

Beim DRY RUN listet er alle Dateien auf, auch rekursiv in den sichtbaren Ordnern.

LinusNichtTorvalds

(Themenstarter)
Avatar von LinusNichtTorvalds

Anmeldungsdatum:
7. August 2008

Beiträge: 1626

Ein Run mit -P brachte folgendes zum Vorschein:

.VirtualBox/HardDisks/Archlinux.vdi
  4273012736  87%   24.86MB/s    0:00:23  
rsync: writefd_unbuffered failed to write 4 bytes to socket [sender]: Broken pipe (32)
rsync: write failed on "/media/LINUS_EXTER_/backup/linus/.VirtualBox/HardDisks/Archlinux.vdi": File too large (27)
rsync error: error in file IO (code 11) at receiver.c(302) [receiver=3.0.7]
rsync: connection unexpectedly closed (965 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(601) [sender=3.0.7]

rsync wird also sofort beendet, weil er die Datei .VirtualBox/HardDisks/Archlinux.vdi nicht schreiben kann (ist ne alte Festplatte mit FAT32 und kann somit die Datei noch speichern). Kann man das abstellen? Dass er nicht abbricht, sobald er eine Datei nicht übertragen kann?

redknight Team-Icon

Moderator & Supporter
Avatar von redknight

Anmeldungsdatum:
30. Oktober 2008

Beiträge: 21668

Naja, das ist schon das verhalten, das du willst 😉 Du willst ja schließlich wissen, ob dein backup erfolgreich war oder nicht. Ich finde auch grad keine Möglichkeit, das Verhlaten zu ändern. Möglicherweise willst du deine vdis ja excluden

LinusNichtTorvalds

(Themenstarter)
Avatar von LinusNichtTorvalds

Anmeldungsdatum:
7. August 2008

Beiträge: 1626

redknight schrieb:

Naja, das ist schon das verhalten, das du willst 😉 Du willst ja schließlich wissen, ob dein backup erfolgreich war oder nicht. Ich finde auch grad keine Möglichkeit, das Verhlaten zu ändern.

rsync könnte mich ja z. B. durch eine Fehlermeldung wissen lassen, dass die Datei nicht kopiert wurde. Sofort das Handtuch werfen ist unnötig 😛 Aber ich will mich ja nicht beklagen, sonst tut rsync ja seinen Dienst 😉

Möglicherweise willst du deine vdis ja excluden

Gute Idee. Wenn ich .VirtualBox/HardDisks exclude, läuft das Script ohne Probleme durch. Danke ☺

Antworten |