
Ich muss die Verzeichnisstruktur von einem Ort zum anderen kopieren. Ich muss nur Ordner und symbolische Links kopieren.
Ich verwende den Befehl
find $SOURCE_PATH/ \( -type l -o -type d \) -printf "%P\0" | rsync --files-from - --from0 -av $SOURCE_PATH $USER@$DESTINATION_SERVER:/$DESTINATION_PATH/$SOURCE_PATH
Der Befehl ist erfolgreich und kopiert Ordner und Links. Mein Problem ist, dass Links auf das alte Ziel verweisen.
Mein Quellpfad istapp/cg/dev und
Zielpfad isttmp/app/cg/dev
und jetzt zeigen meine kopierten Links auf app/cg/dev/somefolder. Ich brauche sie, um darauf zu zeigentmp/app/cg/dev/ein Ordner.
Nachdem ich alle Links per Rsync synchronisiert habe, wäre es eine gute Möglichkeit, sie zu korrigieren, wenn ich den Linkpfad lesen und dann einfach meinen Zielpfad anhängen könnte. Beispiel
find . -type l | while read l; do
concatenate destination folder and readlink l
done
kann mir jemand helfen, diesen Code zu schreiben?