Apakah rsync menghapus file, folder di tujuan secara default?


44

File

Misalkan /foo/srchanya berisi A.cdan yang /foo/destmengandung keduanya A.cdan B.c. Dan seandainya saya menjalankan perintah berikut:

rsync /foo/src/ /foo/dest

Akan rsyncdihapus B.c?

Folder

Sekarang anggaplah itu /foo/srcberisi direktori Adengan beberapa file di dalamnya dan yang /foo/destberisi direktori Adan B, masing-masing dengan beberapa file di dalamnya. Dan misalkan saya menjalankan perintah berikut (opsi -a termasuk -r, rekursif):

rsync -a /foo/src/ /foo/dest

Akan rsyncdihapus Bdan isinya?


Anda membutuhkan --deletesakelar.
fideli

Jawaban:


51

Secara default, rsync tidak menghapus file tetapi itu tergantung pada opsi perintah yang Anda tentukan. Anda dapat menggunakan hal-hal berikut jika Anda INGIN menghapus file:

  • −−del (alias untuk −−delete − selama)
  • −−delete (menghapus file asing dari direktori tujuan)
  • −−delete − before (penerima dihapus sebelum xfer [default])
  • −−delete − selama (penerima menghapus saat xfer, bukan sebelumnya)
  • −−delete − after (penerima menghapus setelah xfer, bukan sebelumnya)
  • −−delete − dikecualikan (juga hapus file yang dikecualikan dari dest dirs)
  • −−max − delete = NUM ​​(jangan hapus lebih dari NUM file)

Karena Anda secara khusus memanggil opsi -a , inilah yang dikatakan halaman manual

−a, −−archive >

Ini sama dengan −rlptgoD . Ini adalah cara cepat untuk mengatakan bahwa Anda ingin rekursi dan ingin mempertahankan hampir semua hal (dengan −H merupakan kelalaian yang menonjol). Satu-satunya pengecualian untuk kesetaraan di atas adalah ketika ilesfile − dari ditentukan, dalam hal ini −r tidak tersirat.

Perhatikan bahwa −a tidak menyimpan hardlink , karena menemukan file yang ditautkan dengan banyak tautan mahal. Anda harus menentukan secara terpisah −H .

Jadi sepertinya jawaban untuk pertanyaan Anda adalah TIDAK, itu tidak akan dihapus dengan memberikan contoh Anda.
HTH

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.