bup-split - manual referensi, opsi, contoh perintah


NAMA

bup-split - simpan file individual ke kumpulan cadangan bup

RINGKASAN

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

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...]

KETERANGAN

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).

MODE

Opsi ini memilih perilaku utama dari perintah, dengan -n menjadi pilihan yang paling mungkin.

-n, --name=name

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.

-t, --tree

keluarkan id pohon git dari kumpulan data yang dihasilkan.

-c, --commit

output git commit id dari dataset yang dihasilkan.

-b, --blobs

output serangkaian git blob id yang sesuai dengan potongan dalam dataset. Tidak kompatibel dengan -n, -t, dan -c.

--noop

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.

--copy

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.

PILIHAN

-r, --remote=host:path

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.

-d, --date=seconds-since-epoch

tentukan tanggal yang tertulis di komit (detik sejak 1970-01-01).

-q, --quiet

nonaktifkan pesan kemajuan.

-v, --verbose

meningkatkan verbositas (dapat digunakan lebih dari sekali).

--git-ids

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.

--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.

--bench

cetak pengaturan waktu benchmark ke stderr.

--max-pack-size=bytes

jangan pernah membuat file paket git lebih besar dari jumlah byte yang diberikan. Standarnya adalah 1 miliar byte. Biasanya tidak ada alasan untuk mengubahnya.

--max-pack-objects=numobjs

jangan pernah membuat file paket git dengan lebih dari jumlah objek yang diberikan. Defaultnya adalah 200 ribu objek. Biasanya tidak ada alasan untuk mengubahnya.

--fanout=numobjs

saat memisahkan file yang sangat besar, coba dan pertahankan jumlah elemen di pohon menjadi rata-rata numobjs.

--bwlimit=bytes/sec

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.

-#, --compress=#

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)

CONTOH

$ 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
1961

LIHAT JUGA

bup-join(1), bup-index(1), bup-save(1), bup-on(1), ssh_config(5)

BUP

Bagian dari paket bup(1).

PENULIS

Avery Pennarun .