Saya mengambil cadangan server dengan rsync, tetapi cadangan itu cukup besar, dan saya ingin mengompresnya. Apakah ada cara untuk memiliki semacam pembungkus rsync untuk mem-gunzip file di cadangan, rsync perubahan dari file langsung, lalu g-gzip file segera setelah disalin?
Yaitu jika sumber file pada live foo , bar dan baz , cadangan memiliki foo.gz , bar.gz dan baz.gz .
Untuk menyatakan kembali: Saya ingin file terkompresi di satu ujung dan file tidak terkompresi di ujung lainnya. Saya tidak ingin mengompres sebelum rsyncing, karena bahkan dengan --rsyncable, itu membuat rsync kurang efisien. Saya tahu tentang opsi -z ke rsync. Saya tidak punya ruang pada mesin cadangan untuk menyimpan semua file yang tidak terkompresi.
Saya pikir rsyncing ke sistem file yang dipasang fuseCompress mungkin menjadi pilihan terbaik. Sejarah proyek secara khusus menyebutkan mereka membuat peningkatan kinerja rsync dengan itu.
http://code.google.com/p/fusecompress/
https://github.com/tex/fusecompress/
sumber
Anda dapat menulis pembungkus ke rsync. Jika Anda 'menarik' data, tidak ada yang istimewa untuk dilakukan. Jika Anda ingin 'mendorong' data dari mesin asli ke server cadangan, lebih rumit untuk membuatnya berfungsi:
Pertama, Anda harus memastikan pembungkus dipanggil dengan nama, jalur, dan parameter yang sama dengan rsync asli, setidaknya untuk pengguna yang Anda gunakan untuk menjalankan pencadangan.
Kedua, pastikan untuk tidak menulis apa pun untuk stdout, karena itu akan merusak saluran komunikasi.
Dan ketiga, pastikan untuk melewati semua parameter yang Anda dapatkan, cukup modifikasi yang sesuai untuk tujuan yang baru dikompresi.
sumber
Dia mungkin mencari kompresi transmisi data melalui rsync, bukan kompresi file di ujung lain.
Lihat: http://jimmyg.org/blog/2007/rsync-basics.html
Parameter kompresi dari halaman manual:
Secara default ssh melakukan kompresi sendiri sampai batas tertentu. Saya tidak tahu seberapa baik rsync lebih baik daripada ssh asli. Jika sebagian besar file Anda sudah dikompres menjadi file gzip, mungkin tidak banyak yang dapat dilakukan mekanisme kompresi rsync untuk Anda. Anda hanya dapat memeras file begitu banyak.
sumber