RSCNC mit zusätzlichem Backup Verzeichnis für gelöschte Dateien

S

shakky4711

DOS-FAN
Hallo,

ich synchronisiere mit rsync einen Quellordner mit einem Zielordner ohne die in der Quelle gelöschte Dateien ebenfalls im Ziel zu löschen. Nun sollen genau diese Dateien zu Archivierungszwecken in einen dritten Ordner verschoben werden. Klingt einfach ganz simpel und sollte auch eigentlich für viele andere Benutzer interessant sein, habe aber noch keine Lösung gefunden die zuverlässig funktioniert, Dateinamen enthalten Leerzeichen und das bring viele Lösungen die ich gefunden habe aus dem Tritt.
Umgebung: Windows 2000 mit Cygwin oder alternativ GNUutils32.

Bitte helft mir, brauch das Gleiche später unter Suse oder Fedora mit BASH nochmal.

Vielen Dank!
 
Was hast du bisher versucht?

BTW Wird es hier nur für *nix eine Lösung geben, da die CYGWIN als Windowsanwendung hier OT ist.

Leerzeichen in Dateinamen sind für die Bash/Ksh aber eine eher kleine Hürde.
Falls du nicht selbst eine Lösung erstellen willst, solltest du in einem Anwendungsforum nachfragen.

Gruß Wolfgang
 
Hallo Wolfgang,

ich habe mir zwei Listen Namens quelle und ziel erstellt die Dateinamen samt Pfad enthalten und mittels grep -v -f quell ziel eine Datei erstellt die genau die zu kopierenden Dateien enthält. Mittels einer While do Schleife sollen die Dateien dann einfach mit mv verschoben werden. Wie gesagt habe ich die gleiche Aufgabenstellung in Kürze auf einem normalen Linux System.
 
Hallo

Wenn die Dateien syncron sind (also pro Zeile die Quelle und das Ziel zusammenpassen)
Schnellschuß ungeprüft und ohne Test ob Datei schon vorhanden.

Code:
exec 3<sourcefile;
exec 4<targetfile;
while read S <&3 &&read T <&4; do
echo "verschiebe:"
echo "$S" "$T";
# hier echo durch mv ersetzen.
done

Ist desweiteren ein Beispiel wie man zwei Dateien zugleich einlesen/verarbeiten kann.
Vlt. braucht das ja mal jemand.

;)
Gruß Wolfgang
 
Hallo,

ich muss gestehen um dieses Script zu verstehen reichen meine Kenntnisse wahrhaft nicht aus. Ich habe in einem anderen Thread ein Script gefunden mit einer while do Schleife und der Eingabe der zu kopierenden Dateien durch eine Liste, hoffe es zum Laufen zu bekommen, insbesondere mit den Anpassungen für Cygwin.
Vielleicht hat ja schon jemand die gleiche Aufgabenstellung gehabt und eine lauffähige Lösung.

Nochmals vielen Dank für die schnelle Reaktion!
 
Wo ist das Problem?

Hier mal kurz eine Erklärung:
Code:
# Binde Filedeskriptor 3 an Datei sourcefile - dort stehen die zu verschiebenden Dateien mit Pfad
exec 3<sourcefile;
# Binde Filedeskriptor 4 an Datei targetfile - dort stehen die entsprechenden Ziele mit Pfad
exec 4<targetfile;
# Einlesen beider Dateien Zeile für Zeile
while read S <&3 &&read T <&4; do
# S enthält Zeile aus Source T Zeile aus Target 
echo "verschiebe:"
echo "$S" "$T";
# hier echo durch mv ersetzen um das ganze Scharf zu machen
done
 
Zurück
Oben