Saya memiliki folder a / dan folder jarak jauh A /. Sekarang saya menjalankan sesuatu seperti ini di Makefile:
get-music:
rsync -avzru server:/media/10001/music/ /media/Incoming/music/
put-music:
rsync -avzru /media/Incoming/music/ server:/media/10001/music/
sync-music: get-music put-music
ketika saya membuat musik sinkronisasi, pertama-tama ia mendapatkan semua perbedaan dari server ke lokal dan kemudian sebaliknya, mengirim semua perbedaan dari lokal ke server.
Ini bekerja dengan sangat baik hanya jika hanya ada pembaruan atau file baru di masa mendatang. Jika ada penghapusan, tidak melakukan apa-apa.
Di rsync ada opsi --delete dan --delete-after untuk membantu mencapai apa yang saya inginkan tetapi masalahnya, ini tidak berfungsi pada sinkronisasi 2-arah.
Jika saya ingin menghapus file server pada syn, ketika file lokal telah dihapus, itu berfungsi, tetapi jika, karena alasan tertentu (dijelaskan setelah) saya memiliki beberapa file yang tidak ada di server tetapi ada secara lokal dan dihapus, Saya ingin menghapusnya secara lokal dan tidak disalin ke server (seperti yang terjadi).
Masalahnya saya memiliki 3 mesin dalam konteks:
- Desktop
- buku catatan
- server rumah
Jadi, terkadang, server akan memiliki file yang dihapus dengan sinkronisasi notebook, misalnya dan kemudian, ketika saya menjalankan sinkronisasi dengan desktop saya (di mana file server yang dihapus masih ada), saya ingin file ini dihapus dan tidak digunakan. disalin lagi ke server.
Saya kira ini hanya mungkin dengan database dan jalur operasi: P
Ada solusi yang lebih sederhana? Terima kasih.