Ich habe eine Datei, die so aussieht:
/cygdrive/d/path/to/my/file1.png
/cygdrive/d/path/to/my/file2.png
/cygdrive/d/path/to/my/file3.png
/cygdrive/d/path/to/my/file4.png
Ich rufe rsync auf mit:
rsync --files-from="/cygdrive/d/myfiles.txt" "/cygdrive/d/path/to/" "user@remotehost:/cygdrive/c/new/path/for"
Ich möchte, dass rsync eine Verzeichnisstruktur wie folgt erstellt:
c:\new\path\for\my\file1.png
...
Aber es schlägt fehl, mit Fehlern wie:
rsync: change_dir "/cygdrive/c/new/path/for/cygdrive/d/path/to/my" ist fehlgeschlagen: Keine solche Datei oder kein solches Verzeichnis. rsync: mkstmp "/cygdrive/c/new/path/for/cygdrive/d/path/to/my/file1.png.asdjfhsdj" ist fehlgeschlagen: Keine solche Datei oder kein solches Verzeichnis.
Wie mache ich rsync klar, dass /cygdrive/d/path/to/
der Teil des Quellpfads die „Wurzel“ ist und dass nur Unterordner/Dateien davon in die Ziel-Wurzel repliziert werden sollen, um am Ziel einen neuen Pfad zu erhalten?
Antwort1
Es scheint, dass das in der Befehlszeile angegebene Bit der Teil „Quellstamm“ und die Zeile aus der Datei der „relative“ Teil ist.
Daher musste ich /cygdrive/d/path/to/
alle Zeilen aus der Datei entfernen und nurmy/file1.png
Anschließend wurde rsync über die Kommandozeile aus der Frage aufgerufen und der lokale Dateipfad mit dem erstellt cmd_line_source + file_line
und kopiert nachcmd_line_dest + file_line