Saya menyalin banyak file yang telah berubah dari satu server ke server lain menggunakan rsync. Saya tahu saya bisa menggunakan -n
opsi untuk menjalankan proses kering, jadi saya bisa melihat file apa yang telah diubah. Namun apakah mungkin untuk mendapatkan rsync untuk mencetak perbedaan dari isi file yang diubah? Saya ingin melihat apa yang terjadi sebelum menyalin? Sesuatu yang bisa saya simpan ke file dan terapkan dengan diff (1) nanti?
19
rsync --diff
dua tahun kemudian ...rsync tidak dapat melakukan ini secara asli, tetapi jika ada kemungkinan menggunakan serentak Anda dapat menghasilkan format gaya berbeda dari itu.
sumber
Untuk membuat tambalan:
Untuk menerapkannya:
atau gunakan skrip yang dibuat secara otomatis:
Sumber:
sumber
Itu tidak mungkin secara alami karena rsync hanya peduli tentang perbedaan biner antara file.
Anda mungkin dapat skrip itu, menggunakan output rsync. Tapi itu akan menjadi retas.
Saya percaya itu mungkin secara alami dengan Unison .
sumber
Mengapa tidak menggunakan sesuatu seperti diff (untuk file teks) atau xdelta (untuk file biner) untuk menghasilkan diff? Mengapa Anda perlu secara khusus mendapatkan sesuatu dari rsync?
sumber
Untuk memperluas jawaban Kyle, ini mengotomatiskan proses. Perhatikan bahwa ini benar-benar belum diuji, mungkin sangat rapuh, dan dapat menghapus komputer Anda dan membunuh anjing Anda.
sumber
Algoritma rsync bekerja dengan membandingkan potongan biner file. Difer biner seperti itu tidak dimaksudkan untuk dicetak. Ada perintah yang disebut rdiff yang menggunakan algoritma rsync untuk menghasilkan diff biner, tapi saya pikir itu tidak akan berguna untuk apa yang Anda gambarkan, ini biasanya digunakan untuk mengimplementasikan backup inkremental.
sumber