rsync, secara default, hanya membandingkan metadata file.
rsync -n -a -i --delete source/ target/
penjelasan:
-n
jangan menyalin atau menghapus <- INI PENTING !! 1
-a
bandingkan semua metadata file seperti cap waktu dan atribut
-i
cetak satu baris informasi per file
--delete
juga melaporkan file yang tidak ada dalam sumber
Catatan: penting untuk menambahkan nama direktori dengan garis miring. ini adalah hal rsync.
jika Anda juga ingin melihat garis yang dicetak untuk file yang identik maka berikan -i
dua kali
rsync -n -a -ii --delete source/ target/
contoh output:
*deleting removedfile (file in target but not in source)
.d..t...... ./ (directory with different timestamp)
>f.st...... modifiedfile (file with different size and timestamp)
>f+++++++++ newfile (file in source but not in target)
.f samefile (file that has same metadata. only with -ii)
ingat bahwa rsync hanya membandingkan metadata. itu berarti jika konten file berubah tetapi metadata tetap sama maka rsync akan melaporkan file itu sama. ini adalah skenario yang tidak mungkin. jadi percaya bahwa ketika metadata sama maka datanya sama, atau Anda harus membandingkan data file sedikit demi sedikit.
bonus: untuk informasi kemajuan lihat di sini: Perkirakan waktu atau pekerjaan tersisa untuk menyelesaikan rsync?
source/
dantarget/
keduanya sangat penting! (Tanpa mereka, Anda akan membandingkan nama direktori sumber dan target bersama dengan nama file anak, sehingga semua nama file akan berbeda.)*deleting
, tetapi file, yang dalam sumber hanya muncul. Garis miring mudah untuk dilupakan secara tidak sengaja dan kemudian Anda mendapatkan hasil yang masuk akal tetapi salah.Gunakan opsi
-q
(--brief
) dengandiff -r
(diff -qr
). Dariinfo
halaman untuk GNUdiff
:Ini tidak akan membandingkan baris per baris, melainkan file secara keseluruhan, yang sangat mempercepat prosesor (apa yang Anda cari).
sumber
Berikut ini adalah skrip python cepat yang akan memeriksa apakah nama file, mtimes, dan ukuran file semuanya sama:
sumber
Jika Anda hanya perlu tahu apakah file dari dua cabang sistem file berbeda (tanpa melihat ke dalam file) Anda dapat melakukan sesuatu seperti ini:
HTH
sumber
Berdasarkan skrip Chris Down, skrip ini sedikit lebih "visual". Menyebutnya dengan dua argumen
folder1
danfolder2
, berjalan di folder pertama dan untuk setiap file mencari file yang sesuai di folder kedua. Jika ditemukan, jalur relatif dicetak dalam warna hijau, jika mereka memiliki waktu atau ukuran yang dimodifikasi berbeda, itu dicetak dalam warna kuning, dan jika tidak ditemukan maka dicetak dalam warna merah.Perhatikan bahwa ini tidak cukup untuk memutuskan apakah kedua folder itu sama, Anda harus menjalankan keduanya untuk memastikan. Dalam praktiknya jika Anda hanya ingin tahu apakah foldernya sama , maka skrip Chris lebih baik. Jika Anda ingin tahu apa yang hilang atau berbeda dari satu folder ke folder lainnya , maka skrip saya akan memberi tahu Anda.
CATATAN: Anda perlu menginstal termcolor
pip install termcolor
,.sumber
Jika Anda ingin membandingkan hanya struktur dan beberapa info dasar tentang file, Anda dapat mencoba sesuatu seperti ini:
Saya tidak mengujinya, jadi ada suntingan selamat datang :)
sumber
<()
memiliki lingkungannya sendiri. Diedit.