Itu tidak perlu dilakukan rsync, tapi alangkah baiknya tidak harus menulis skrip untuk melakukan ini, dan rsyncsangat dekat dengan apa yang saya inginkan.
rsync -a(atau -l) dapat menyimpan symlink, dan -Ldapat 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 ajuga harus menyalin b, c, c/foo, d, d/edan d/e/foo).
dirA/linksymlink adalah../dirB/file, maka ini harus ditangani sebagai menyalindirB/filekedest/dirB/filedandirA/linkkedest/dirA/link. Bagaimana jikadirA/linkada tautan ke../../another_file? Apa yang terjadi, secara umum, jikadirA/linkmenunjuk ke direktori yang lebih tinggi di pohon direktori?