-
"Salin symlink sebagai symlink" artinya persis seperti yang tertulis:Jika rsync melihat symlink di direktori sumber, itu akan membuat symlink yang identik di tujuan. Tidak lebih.
(Beberapa baris di halaman manual, berbeda pilihan,
--copy-links
, menjelaskan perilaku sebaliknya (selalu menyalin data) yang Anda gambarkan sebagai tidak diinginkan.)Lihat juga bagian "Tautan simbolik":
Jika
--links
ditentukan, kemudian symlink dibuat ulang dengan target yang sama pada tujuan. -
Itu bukan perilaku yang Anda inginkan karena Anda salah mengartikan apa
--links
tidak dan karena itu menanyakan perilaku yang salah (lihat jawaban #1). -
Secara default, ini menyalin tujuan persis.
Artinya, jika tautan menunjuk ke jalur absolut (mis.
/home/me/projects
), itu akan terus menunjuk ke jalur yang sama; itu tidak akan rusak , itu hanya akan terus menunjuk ke file di direktori home Anda daripada yang ada di backup Anda.Sedangkan jika link menunjuk ke path relatif (misal
../../projects
), itu akan juga terus menunjuk ke jalur yang sama, tetapi karena relatif terhadap lokasi symlink, symlink di cadangan Anda juga akan menunjuk ke file di cadangan Anda.Sayangnya sepertinya tidak ada opsi untuk menerjemahkan symlink absolut untuk basis baru mereka (hanya opsi untuk menghancurkannya seluruhnya). Untuk menghindari masalah, Anda harus mengubah symlink yang ada ke symlink relatif (yang merupakan ide bagus secara umum, untuk link di dalam $HOME).
@grawity punya jawaban yang bagus, tapi ini tangkapan layar dari beberapa info relevan dari dokumentasi. Inilah kata-kata yang tepat dari -l
dan -L
opsi, misalnya, yang tampaknya menjadi pertanyaan paling relevan:
Sumber:https://linux.die.net/man/1/rsync, atau man rsync
halaman manual di Linux.
Perhatikan juga bahwa -a
(--archive
) juga menyertakan opsi -l
opsi di dalamnya, yang luar biasa, karena saya sangat suka menggunakan -l
opsi untuk mempertahankan symlink saya dari sumber sebagai symlink di tujuan. Dari halaman manual:
-a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)
Catatan, untuk rsync
favorit saya perintah dan instruksi, termasuk penyalinan, pencerminan, menunjukkan kemajuan total...
...melakukan dry run, mencatat stderr dan stdout ke file (terpisah), menampilkan statistik, menggunakan include path file dan file yang dikecualikan , dll, lihat jawaban lengkap saya di sini di bawah bagian ke-2, berjudul "2.rsync Alat baris perintah (Linux, Windows dengan Cygwin) ":https://superuser.com/a/1464264/425838