GNU/Linux >> Belajar Linux >  >> Linux

Linux – Bagaimana Menyinkronkan Dua Folder Dengan Alat Baris Perintah?

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


Linux
  1. Cara Reboot Linux Menggunakan Command Line

  2. Bagaimana cara mengubah PDF menjadi JPG dengan baris perintah di Linux?

  3. Bagaimana cara menyinkronkan dua folder dengan alat baris perintah?

  1. Cara Menghapus File dengan Ekstensi Tertentu di Baris Perintah Linux

  2. Bagaimana cara mengonversi dokumen DjVu ke PDF di Linux hanya menggunakan alat baris perintah?

  3. Bagaimana cara mengganti file di jar dengan baris perintah di linux?

  1. Cara memeriksa ejaan di baris perintah Linux dengan Aspell

  2. Cara Memeriksa Utilisasi CPU di Linux dengan Command Line

  3. Bagaimana saya bisa menyalin folder dari baris perintah Linux?