GNU/Linux >> Belajar Linux >  >> Linux

RSYNC Tidak Menghapus Direktori Sumber

Halaman manual bahkan mengatakan:

--remove-source-files   sender removes synchronized files (non-dirs)

Jika Anda ingin menghapus direktori kosong di sumber Anda, jika masih ada file yang tersisa, lakukan:

find . -depth -type d -empty -delete

Jika itu hanya direktori sumber kosong, rmdir <directory> tentu saja akan cukup.


Perilaku --remove-source-files yang Anda amati persis seperti yang ditentukan oleh man rsync :

--remove-source-files

   This tells rsync to remove from the sending side the files (meaning non-directories) that are a part of the transfer and have been successfully duplicated on the receiving side.

Tidak ada perintah khusus untuk menghapus direktori, seperti yang ditunjukkan dengan jelas oleh dua diskusi di StackExchange dan ServerFault ini. Solusi yang disarankan adalah mengeluarkan dua perintah terpisah:

 rsync -av --ignore-existing --remove-source-files source/ destination/ && \
 rsync -av --delete `mktemp -d`/ source/ 

Bagian terakhir dari perintah yang disarankan dalam dua posting ini,

 rmdir source/

yang diperlukan untuk menghapus direktori sumber (sekarang dikosongkan) memiliki formulir ini di posting ini karena OP dan jawabannya menggunakan rsync untuk memindahkan file dalam jumlah besar di dalam mesin yang sama. Dalam kasus Anda, Anda harus melakukannya secara manual.


Menggunakan "rm -rf " memiliki kondisi balapan yang melekat, yaitu Anda dapat menghapus file yang baru saja dibuat antara rsync dan rm doa.

Saya lebih suka menggunakan:

rsync --remove-source-files -a server:masuk/masuk/ &&

sshserver menemukan -type d -delete

yang masuk

Ini TIDAK akan menghapus direktori jika tidak kosong.


Linux
  1. Bandingkan Direktori Tapi Bukan Isi File?

  2. Mengapa `keluar &` Tidak Berfungsi?

  3. Linux – Mengapa Rsync Di Linux Tidak Mempertahankan Semua Stempel Waktu (Waktu Pembuatan)?

  1. du perintah tidak mengurai direktori tersembunyi

  2. rsync tidak akan menghapus file di tujuan

  3. Bisakah scp menyalin direktori secara rekursif?

  1. [Diselesaikan]:Mengapa rsync tidak menyalin file/direktori Tersembunyi dan Mengapa tanda bintang tidak menyertakan file tersembunyi (titik) di Linux?

  2. Mengapa Pelengkapan Otomatis Tidak Berfungsi Saat Mengetik Nama Perintah Setelah `sumber`?

  3. pemula tidak melihat pekerjaan saya