Saya telah meneliti halaman manual rsync serta beberapa pertanyaan terkait di sini di serverfault. Saya telah bermain dengan opsi -R dan -L dan -l, tetapi tidak berhasil.
Inilah pertanyaannya:ketika mengirim dir dari lokal ke jarak jauh, apakah ada opsi (atau opsi kombo) yang merelokasi symlink relatif ke direktori lokal sehingga menjadi relatif terhadap dir tujuan pada mesin jarak jauh?
Berikut adalah contoh minimal dari apa yang ingin saya kirim:
direktori lokal: /home/bob/foo
/home/bob/foo/a --> /home/bob/foo/bar
/home/bob/foo/bar
dan inilah cara saya ingin mewujudkannya di
direktori jarak jauh: /u/apps/foo
/u/apps/foo/a --> /u/apps/foo/bar
/u/apps/foo/bar
Misalnya, rsync -az /home/bob/foo/ remote:/u/apps/foo/
tidak cukup melakukannya; kita berakhir dengan:
/u/apps/foo/a --> /home/bob/foo/bar
/u/apps/foo/bar
Apakah /home/bob/foo/bar
ada atau tidak pada mesin remote tidak relevan; dalam kedua kasus, hasilnya jelas bukan yang saya butuhkan.
Jawaban yang Diterima:
Jika tautannya ke jalur absolut, tidak, tidak ada jalan lain. Anda dapat menyiasatinya dengan membuat symlink menjadi relatif:
/home/bob/foo/a --> ./bar /home/bob/foo/bar
tetapi itu mungkin terbukti sulit, tergantung pada bagaimana Anda membuat tautan tersebut dan berapa banyak tautan tersebut.