Setelah bermigrasi ke Linux dari Windows, saya ingin mencari perangkat lunak alternatif untuk Winmerge atau lebih tepatnya mempelajari alat baris perintah untuk membandingkan dan menyinkronkan dua folder di Linux. Saya akan berterima kasih jika Anda dapat memberi tahu saya bagaimana melakukan tugas-tugas berikut pada baris perintah… (Saya telah mempelajari diff dan rsync, tetapi saya masih membutuhkan bantuan.)
Kami memiliki dua folder:“/home/user/A” dan “/home/user/B”
Folder A adalah tempat penyimpanan file dan folder biasa dan folder B adalah folder cadangan yang berfungsi sebagai cermin lengkap folder A. (Tidak ada yang langsung disimpan atau diubah oleh pengguna di folder B.)
Pertanyaan saya adalah:
-
Bagaimana cara membuat daftar file yang hanya ada di folder B? (Misalnya yang dihapus dari folder A sejak sinkronisasi terakhir.)
-
Bagaimana cara menyalin file yang hanya ada di folder B kembali ke folder A?
-
Bagaimana cara membuat daftar file yang ada di kedua folder tetapi memiliki cap waktu atau ukuran yang berbeda? (Yang telah dimodifikasi di folder A sejak sinkronisasi terakhir. Saya ingin menghindari penggunaan checksum, karena ada puluhan ribu file dan itu akan membuat prosesnya terlalu lambat.)
-
Bagaimana cara membuat salinan folder A ke folder B? Maksud saya, salin semua dari folder A ke folder B yang hanya ada di folder A dan hapus semua dari folder B yang hanya ada di folder B, tapi tanpa menyentuh file yang sama di kedua folder.
Jawaban yang Diterima:
Ini menempatkan folder A ke folder B:
rsync -avu --delete "/home/user/A" "/home/user/B"
Jika Anda ingin isi folder A dan B agar sama, masukkan /home/user/A/
(dengan garis miring) sebagai sumbernya. Ini tidak mengambil folder A tetapi semua isinya dan memasukkannya ke dalam folder B. Seperti ini:
rsync -avu --delete "/home/user/A/" "/home/user/B"
-a
Lakukan sinkronisasi dengan mempertahankan semua atribut sistem file-v
berjalan dengan lancar-u
hanya menyalin file dengan waktu modifikasi yang lebih baru (atau perbedaan ukuran jika waktunya sama)--delete
hapus file di folder target yang tidak ada di sumbernya
Halaman manual:https://download.samba.org/pub/rsync/rsync.html