Jawaban:
Ada lebih banyak properti untuk rsync dari jawaban sebelumnya yang disebutkan. Anda harus melihatnya sendiri:
man rsync
Tetapi untuk masalah Anda, saya sarankan:
rsync -a --delete X Y
Dengan cara ini, penerima (Y) akan menghapus file apa pun yang tidak ada dalam X. Pastikan Anda melakukannya dengan benar. Digunakan secara salah karena root dapat dengan mudah membunuh sistem Anda ... :)
rsync -a --delete X/ Y. Garis miring kecil setelah X membuatnya bekerja seperti yang dimaksudkan untukku, jadi itu mungkin bisa membantu yang lain juga. Dijelaskan di sini: abbeyworkshop.com/howto/unix/nix_rsync/index.html
Lihatlah rsync (1) . Ini dimaksudkan untuk melakukan apa yang Anda inginkan.
rsync -av X Y
Ini mendukung penyalinan jarak jauh, melalui protokol atau ssh sendiri, tetapi juga dapat digunakan secara lokal.
Bergantung pada perilaku persis yang Anda inginkan, Anda mungkin juga ingin meneruskan --updateopsi. Ini akan memberitahu rsync untuk tidak menimpa file yang sudah ada pada target dan lebih baru dari yang ada di sumber.
Jika Anda ingin menghapus file tambahan (yaitu file yang ada di Y, tetapi tidak di X) Anda dapat menambahkan --deleteopsi.
Saya pikir beberapa fungsi yang Anda cari di opsi -u (pembaruan) sebenarnya ada di opsi ini:
"--ignore-existing" - lewati memperbarui file yang ada pada receiver