Itu tidak perlu dilakukan rsync
, tapi alangkah baiknya tidak harus menulis skrip untuk melakukan ini, dan rsync
sangat dekat dengan apa yang saya inginkan.
rsync -a
(atau -l
) dapat menyimpan symlink, dan -L
dapat men-decereferensi symlink dan menyalinnya seolah-olah itu adalah file / dir yang normal. Namun, mungkinkah menyimpan symlink, dan juga menyalin file / direktori yang ditunjuk oleh tautan?
Ini sebuah contoh. Katakanlah kita memiliki hierarki folder ini:
dirA/link_to_file -> ../dirB/file
dirA/link_to_dir -> ../dirC
dirB/file
dirB/not_this_file
dirC/file
dirC/file2
dirD/others
dan ketika saya melakukannya rsync -aR dirA dest
(atau sesuatu yang lain), saya ingin memiliki persis ini muncul di dest
:
dirA/link_to_file -> ../dirB/file
dirA/link_to_dir -> ../dirC
dirB/file
dirC/file
dirC/file2
Apakah ini mungkin rsync
? Terima kasih.
Mari kita asumsikan symlink yang memiliki path absolut atau menunjuk ke luar direktori sumber dapat diabaikan.
a -> b
, b -> c/foo
, c -> d/e
: permintaan untuk copy a
juga harus menyalin b
, c
, c/foo
, d
, d/e
dan d/e/foo
).
dirA/link
symlink adalah../dirB/file
, maka ini harus ditangani sebagai menyalindirB/file
kedest/dirB/file
dandirA/link
kedest/dirA/link
. Bagaimana jikadirA/link
ada tautan ke../../another_file
? Apa yang terjadi, secara umum, jikadirA/link
menunjuk ke direktori yang lebih tinggi di pohon direktori?