bup-split - başvuru kılavuzu, seçenekler, komut örnekleri


İSİM

bup-split - tek tek dosyaları yedekleme kümelerini kurtarmak için kaydedin

ÖZET

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

TANIM

bup split, verilen dosyaların içeriğini birleştirir (veya dosya adı verilmezse, stdin'den okur), dönen bir sağlama toplamı algoritması kullanarak içeriği yaklaşık 8k'lik parçalara böler ve parçaları bir bup deposuna kaydeder. Daha önce saklanan yığınlar tekrar saklanmazlar (yani 'tekilleştirilirler').

Yuvarlanan sağlama toplamının çalışma şekli nedeniyle parçalar, bayt ekleme, silme ve değiştirme dahil olmak üzere belirli bir dosyada yapılan değişikliklerde çok kararlı olma eğilimindedir.

Örneğin, bir veritabanının XML dökümünü yedeklemek için bup split kullanırsanız ve XML dosyası bir çalıştırmadan diğerine biraz değişirse, neredeyse tüm veriler yinelenenlerden arındırılır ve ilkinden sonraki her yedeğin boyutu tipik olarak oldukça küçük olmak

Başka bir teknik, tar(1) veya cpio(1) programlarının çıktısını bup split'e yönlendirmektir. Tarball'daki tek tek dosyalar biraz değiştiğinde veya eklendiğinde veya kaldırıldığında, bup, tarball'ın geri kalanını verimli bir şekilde işlemeye devam eder. (Bununla birlikte, bup kaydetmenin genellikle bunu gerçekleştirmenin daha verimli bir yolu olduğunu unutmayın.)

Verileri geri almak için bup-join(1) kullanın.

MODLAR

Bu seçenekler, -n en olası seçim olmak üzere, komutun birincil davranışını seçer.

-n, --name=name

veri kümesini oluşturduktan sonra name adlı bir git dalı oluşturun, böylece bu ad kullanılarak erişilebilir. name zaten varsa, yeni veri kümesinin eski name'in soyundan geldiği kabul edilecektir. (Böylece, sürekli olarak aynı ada sahip yeni veri kümeleri oluşturabilir ve daha sonra zaman içinde nasıl değiştiğini görmek için bu veri kümesinin geçmişini görüntüleyebilirsiniz.) Orijinal veriler aynı zamanda "veri" adlı üst düzey bir dosya olarak da kullanılabilir olacaktır. VFS, bup sigortası, bup ftp vb. yoluyla erişilebilir.

-t, --tree

elde edilen veri kümesinin git ağacı kimliğinin çıktısını alın.

-c, --commit

elde edilen veri kümesinin git commit kimliğinin çıktısını alın.

-b, --blobs

veri kümesindeki parçalara karşılık gelen bir dizi git blob kimliği çıktısı alın. -n, -t ve -c ile uyumsuz.

--noop

verileri okuyun ve "bupsplit" yuvarlanan sağlama toplamı algoritmasına göre bloklara ayırın, ancak depoda hiçbir şey saklamayın. Veri kümesi için git bloblarını veya ağaç kimliklerini hesaplamak (ancak depolamamak) için -b veya -t ile birleştirilebilir. Bu, çoğunlukla bupsplit algoritmasını kıyaslamak ve doğrulamak için kullanışlıdır. -n ve -c ile uyumsuz.

--copy

--noop gibi, ancak verileri stdout'a da yazın. Bu, büyük miktarda veri için okuma+bupsplit+yazma hızını karşılaştırmak için yararlı olabilir. -n, -t, -c ve -b ile uyumsuz.

SEÇENEKLER

-r, --remote=host:path

yedekleme kümesini verilen uzak sunucuya kaydedin. yol atlanırsa, uzak sunucudaki varsayılan yolu kullanır (':' karakterini yine de eklemeniz gerekir). Uzak sunucuya bağlantı SSH ile yapılır. SSH bağlantısı için hangi bağlantı noktası, kullanıcı veya özel anahtarın kullanılacağını belirtmek isterseniz ~/.ssh/config dosyasını kullanmanızı öneririz. Hedef uzak olsa bile, yerel bir bup deposu hala gereklidir.

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

taahhütte yazılı tarihi belirtin (1970-01-01'den bu yana saniye).

-q, --quiet

ilerleme mesajlarını devre dışı bırakın.

-v, --verbose

ayrıntıyı artırın (birden fazla kullanılabilir).

--git-ids

stdin, ham veriler yerine git nesne kimliklerinin bir listesidir. bup split, adlandırılmış her bir git nesnesinin içeriğini okuyacak (eğer bup deposunda varsa) ve onu bölecektir. Bu, bunun yerine bup tarzı hashsplitting kullanmak için büyük ikili dosyalara sahip bir git deposunu dönüştürmek için yararlı olabilir. Bu seçenek muhtemelen en çok --keep-boundaries ile birleştirildiğinde kullanışlıdır.

--keep-boundaries

komut satırında birden fazla dosya adı verilirse, bunlar normalde içeriğin tümü tek bir dosyadan geliyormuş gibi birleştirilir. Yani, üretilen damlalar/ağaçlar kümesi, tek bir girdi dosyası olsaydı olacağıyla aynıdır. Ancak, --keep-boundaries kullanırsanız, her dosya ayrı ayrı bölünür. Yine de yalnızca tek bir ağaç veya taahhüt veya bir dizi blob alırsınız, ancak her blob dosyalardan yalnızca birinden gelir; girdi dosyalarından birinin sonu her zaman bir blobu sonlandırır.

--bench

kıyaslama zamanlamalarını stderr'e yazdırın.

--max-pack-size=bytes

asla verilen bayt sayısından daha büyük git paketi dosyaları oluşturmayın. Varsayılan 1 milyar bayttır. Genellikle bunu değiştirmek için bir neden yoktur.

--max-pack-objects=numobjs

asla verilen sayıda nesne içeren git packfiles oluşturmayın. Varsayılan 200 bin nesnedir. Genellikle bunu değiştirmek için bir neden yoktur.

--fanout=numobjs

çok büyük dosyaları bölerken, ağaçlardaki öğe sayısını ortalama numobjs olarak tutmaya çalışın.

--bwlimit=bytes/sec

sunucuya saniyede bayt/sn bayttan fazlasını iletmeyin. Bu, yedeklemelerinizin tüm ağ bant genişliğinizi emmemesi için iyidir. Sırasıyla 1024, 1024*1024, 1024*1024*1024'ün katlarını belirtmek için k, M veya G gibi bir sonek kullanın.

-#, --compress=#

sıkıştırma seviyesini # olarak ayarlayın (0-9 arasında bir değer, burada 9 en yüksek ve 0 sıkıştırma yok). Varsayılan 1'dir (hızlı, gevşek sıkıştırma)

ÖRNEKLER

$ 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

AYRICA BAKINIZ

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

BÜP

bup(1) paketinin bir parçası.

YAZARLAR

Avery Pennarun .