bup-split - mentse az egyes fájlokat bup biztonsági mentési készletekbe
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...]
A bup split összefűzi az adott fájlok tartalmát (vagy ha nincs megadva fájlnév, beolvassa az stdin-ből), a tartalmat 8k körüli darabokra osztja fel egy gördülő ellenőrző összegű algoritmus segítségével, és a darabokat egy bup tárolóba menti. Az előzőleg eltárolt darabok nem kerülnek újra tárolásra (azaz „deduplikálva”).
A gördülő ellenőrzőösszeg működése miatt a darabok általában nagyon stabilak az adott fájl módosításai során, beleértve a bájtok hozzáadását, törlését és módosítását.
Például, ha a bup split funkciót használja egy adatbázis XML-kiíratásának biztonsági mentésére, és az XML-fájl enyhén megváltozik egyik futtatásról a másikra, akkor is szinte az összes adatot deduplikálják, és az első utáni biztonsági másolatok mérete általában meglehetősen kicsi lesz.
Egy másik technika a tar(1) vagy cpio(1) programok kimenetének csővezetéke a felosztáshoz. Amikor az egyes fájlok a tarballban kissé megváltoznak, vagy hozzáadódnak vagy eltávolítanak, a bup továbbra is hatékonyan dolgozza fel a tarball többi részét. (Ne feledje, hogy a bup-mentés általában hatékonyabb módja ennek a megvalósításának.)
Az adatok visszaszerzéséhez használja a bup-join(1) parancsot.
Ezek az opciók a parancs elsődleges viselkedését választják ki, az -n a legvalószínűbb választás.
az adatkészlet létrehozása után hozzon létre egy name nevű git-ágat, hogy az ezen a néven elérhető legyen. Ha a név már létezik, az új adatkészlet a régi név leszármazottjának tekintendő. (Így folyamatosan létrehozhat új adatkészleteket azonos névvel, és később megtekintheti az adott adatkészlet előzményeit, hogy megtudja, hogyan változott az idők során.) Az eredeti adatok a VFS-ben „data” nevű legfelső szintű fájlként is elérhetők lesznek, amely bup fuse, bup ftp stb. segítségével érhető el.
kiadja az eredményül kapott adatkészlet git-fa azonosítóját.
kiadja az eredményül kapott adatkészlet git commit azonosítóját.
git blob azonosítók sorozatát adja ki, amelyek megfelelnek az adatkészletben lévő daraboknak. Nem kompatibilis az -n, -t és -c jelekkel.
olvassa el az adatokat és bontsa fel blokkra a „bupsplit” gördülő ellenőrző összeg algoritmusa alapján, de ne tároljon semmit a repóban. Kombinálható a -b vagy -t paraméterrel az adatkészlet git blobjainak vagy faazonosítóinak kiszámításához (de nem tárolásához). Ez leginkább a bupsplit algoritmus teljesítményértékeléséhez és érvényesítéséhez hasznos. Nem kompatibilis -n és -c.
mint a --noop, hanem az stdout-ba is írd az adatokat. Ez hasznos lehet az olvasás+bupsplit+írás sebességének összehasonlításához nagy mennyiségű adat esetén. Nem kompatibilis az -n, -t, -c és -b jelekkel.
mentse a biztonsági mentési készletet az adott távoli szerverre. Ha az elérési út ki van hagyva, akkor a távoli kiszolgáló alapértelmezett elérési útját használja (még mindig meg kell adnia a `:' jelet). A távoli szerverrel való kapcsolat SSH segítségével történik. Ha meg szeretné adni, hogy melyik portot, felhasználót vagy privát kulcsot használja az SSH-kapcsolathoz, javasoljuk, hogy használja a ~/.ssh/config fájlt. Annak ellenére, hogy a cél távoli, egy helyi bup-tárra továbbra is szükség van.
adja meg a kötelezettségvállalásba beírt dátumot (másodpercek 1970-01-01 óta).
folyamatüzenetek letiltása.
növelje a szóhasználatot (többször is használható).
Az stdin a git objektumazonosítók listája nyers adatok helyett. A bup split beolvassa az egyes elnevezett git objektumok tartalmát (ha létezik a bup tárolóban), és felosztja. Ez hasznos lehet egy nagy bináris fájlokat tartalmazó git tárhely konvertálásakor, hogy helyette bup stílusú hashsplittinget használjon. Ez az opció valószínűleg a --keep-boundaries funkcióval kombinálva a leghasznosabb.
Ha a parancssorban több fájlnév is megadásra kerül, akkor általában úgy vannak összefűzve, mintha a tartalom egyetlen fájlból származna. Vagyis az előállított blobok/fák készlete megegyezik azzal, ami akkor lett volna, ha egyetlen bemeneti fájl lett volna. Ha azonban a --keep-boundaries-t használja, minden fájl külön-külön lesz felosztva. Továbbra is csak egyetlen fát, véglegesítést vagy blob-sorozatot kap, de minden blob csak az egyik fájlból származik; az egyik bemeneti fájl vége mindig egy blob-ot zár le.
benchmark időzítések nyomtatása az stderr-hez.
soha ne hozzon létre a megadott számú bájtnál nagyobb git-csomagfájlokat. Az alapértelmezett érték 1 milliárd bájt. Általában nincs ok ezen változtatni.
soha ne hozzon létre git-csomagfájlokat a megadott számú objektumnál többel. Az alapértelmezett 200 ezer objektum. Általában nincs ok ezen változtatni.
nagyon nagy fájlok felosztásánál próbálja meg a fák elemeinek számát átlagosan numobjs-ban tartani.
ne továbbítson másodpercenként byte/sec bájtnál többet a szervernek. Ez arra jó, hogy a biztonsági mentések ne szívják el a teljes hálózati sávszélességet. Az 1024, 1024*1024, 1024*1024*1024 többszöröseinek megadásához használjon utótagot, például k, M vagy G.
állítsa a tömörítési szintet #-re (0-9 érték, ahol a 9 a legmagasabb, a 0 pedig a tömörítés hiánya). Az alapértelmezett 1 (gyors, laza tömörítés)
$ 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)
A bup(1) programcsomag része.
Avery Pennarun