bup-split - simpan file individual ke kumpulan cadangan bup
bup split [-t] [-c] [-n name] COMMON_OPTIONS
bup split -b COMMON_OPTIONS
bup split –copy COMMON_OPTIONS
bup split –noop [-t|-b] COMMON_OPTIONS
[-r host:path] [-v] [-q] [-d seconds-since-epoch] [--bench] [--max-pack-size=bytes] [-#] [--bwlimit=bytes] [--max-pack-objects=n] [--fanout=count] [--keep-boundaries] [--git-ids | filenames...]
bup split menggabungkan konten dari file yang diberikan (atau jika tidak ada nama file yang diberikan, baca dari stdin), membagi konten menjadi potongan sekitar 8k menggunakan algoritma rolling checksum, dan menyimpan potongan tersebut ke dalam repositori bup. Potongan-potongan yang sebelumnya telah disimpan tidak disimpan lagi (yaitu `deduplikasi').
Karena cara kerja rolling checksum, potongan cenderung sangat stabil di seluruh perubahan pada file tertentu, termasuk menambahkan, menghapus, dan mengubah byte.
Misalnya, jika Anda menggunakan bup split untuk mencadangkan dump XML dari database, dan file XML sedikit berubah dari satu proses ke proses berikutnya, hampir semua data akan tetap diduplikasi dan ukuran setiap cadangan setelah pencadangan pertama biasanya akan menjadi cukup kecil.
Teknik lain adalah menyalurkan output dari program tar(1) atau cpio(1) ke bup split. Ketika file individu dalam tarball sedikit berubah atau ditambahkan atau dihapus, bup masih memproses sisa tarball secara efisien. (Perhatikan bahwa bup save biasanya merupakan cara yang lebih efisien untuk melakukannya.)
Untuk mendapatkan kembali datanya, gunakan bup-join(1).
Opsi ini memilih perilaku utama dari perintah, dengan -n menjadi pilihan yang paling mungkin.
setelah membuat dataset, buat cabang git bernama name agar bisa diakses menggunakan nama tersebut. Jika nama sudah ada, set data baru akan dianggap turunan dari nama lama. (Dengan demikian, Anda dapat terus membuat kumpulan data baru dengan nama yang sama, dan kemudian melihat riwayat kumpulan data tersebut untuk melihat perubahannya dari waktu ke waktu.) Data asli juga akan tersedia sebagai file tingkat atas bernama "data" di VFS, dapat diakses melalui bup fuse, bup ftp, dll.
keluarkan id pohon git dari kumpulan data yang dihasilkan.
output git commit id dari dataset yang dihasilkan.
output serangkaian git blob id yang sesuai dengan potongan dalam dataset. Tidak kompatibel dengan -n, -t, dan -c.
membaca data dan membaginya menjadi blok-blok berdasarkan algoritme checksum bergulir "bupsplit", tetapi jangan menyimpan apa pun di repo. Dapat digabungkan dengan -b atau -t untuk menghitung (tetapi tidak menyimpan) gumpalan git atau id pohon untuk kumpulan data. Ini sebagian besar berguna untuk pembandingan dan memvalidasi algoritma bupsplit. Tidak kompatibel dengan -n dan -c.
seperti --noop, tetapi tulis juga datanya ke stdout. Ini dapat berguna untuk membandingkan kecepatan baca+bupsplit+tulis untuk data dalam jumlah besar. Tidak kompatibel dengan -n, -t, -c, dan -b.
simpan set cadangan ke server jarak jauh yang diberikan. Jika jalur dihilangkan, gunakan jalur default di server jarak jauh (Anda masih harus menyertakan `:'). Koneksi ke server jarak jauh dilakukan dengan SSH. Jika Anda ingin menentukan port, pengguna, atau kunci pribadi mana yang akan digunakan untuk koneksi SSH, kami sarankan Anda menggunakan file ~/.ssh/config. Meskipun tujuannya jauh, repositori bup lokal tetap diperlukan.
tentukan tanggal yang tertulis di komit (detik sejak 1970-01-01).
nonaktifkan pesan kemajuan.
meningkatkan verbositas (dapat digunakan lebih dari sekali).
stdin adalah daftar id objek git, bukan data mentah. bup split akan membaca konten dari setiap objek git bernama (jika ada di repositori bup) dan membaginya. Ini mungkin berguna untuk mengonversi repositori git dengan file biner besar untuk menggunakan hashsplitting bup-style sebagai gantinya. Opsi ini mungkin paling berguna bila digabungkan dengan --keep-boundaries.
jika beberapa nama file diberikan pada baris perintah, mereka biasanya digabungkan bersama seolah-olah semua konten berasal dari satu file. Artinya, kumpulan gumpalan/pohon yang dihasilkan identik dengan apa yang akan terjadi jika ada satu file masukan. Namun, jika Anda menggunakan --keep-boundaries, setiap file dipisahkan secara terpisah. Anda masih hanya mendapatkan satu pohon atau komit atau serangkaian gumpalan, tetapi setiap gumpalan hanya berasal dari salah satu file; akhir dari salah satu file input selalu diakhiri dengan gumpalan.
cetak pengaturan waktu benchmark ke stderr.
jangan pernah membuat file paket git lebih besar dari jumlah byte yang diberikan. Standarnya adalah 1 miliar byte. Biasanya tidak ada alasan untuk mengubahnya.
jangan pernah membuat file paket git dengan lebih dari jumlah objek yang diberikan. Defaultnya adalah 200 ribu objek. Biasanya tidak ada alasan untuk mengubahnya.
saat memisahkan file yang sangat besar, coba dan pertahankan jumlah elemen di pohon menjadi rata-rata numobjs.
jangan mengirimkan lebih dari byte/detik byte per detik ke server. Ini bagus untuk membuat cadangan Anda tidak menyedot semua bandwidth jaringan Anda. Gunakan akhiran seperti k, M, atau G untuk menentukan kelipatan masing-masing 1024, 1024*1024, 1024*1024*1024.
atur level kompresi ke # (nilai dari 0-9, di mana 9 adalah yang tertinggi dan 0 adalah tanpa kompresi). Standarnya adalah 1 (kompresi cepat dan longgar)
$ tar -cf - /etc | bup split -r myserver: -n mybackup-tar
tar: Removing leading /' from member names
Indexing objects: 100% (196/196), done.
$ bup join -r myserver: mybackup-tar | tar -tf - | wc -l
1961bup-join(1), bup-index(1), bup-save(1), bup-on(1), ssh_config(5)
Bagian dari paket bup(1).
Avery Pennarun