GNU/Linux >> Belajar Linux >  >> Linux

rsync dan tautan simbolik

  1. "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.

  2. Itu bukan perilaku yang Anda inginkan karena Anda salah mengartikan apa --links tidak dan karena itu menanyakan perilaku yang salah (lihat jawaban #1).

  3. 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


Linux
  1. Apakah ada cara untuk memeriksa apakah ada tautan simbolik yang mengarah ke direktori?

  2. Git dan tautan keras

  3. Variabel lingkungan dalam tautan simbolik

  1. Perilaku cd/bash pada tautan simbolik

  2. Bagaimana cara menyalin tautan simbolik?

  3. Terlalu banyak level tautan simbolik

  1. Cara Membuat Tautan Keras dan Simbolik di Linux

  2. Tip dan trik rsync favorit

  3. Menggunakan bendera arsip rsync tanpa menyalin tautan simbolik