GNU/Linux >> Znalost Linux >  >> Linux

Jak vytvořit archiv tar rozdělený do více souborů?

K tomu můžete použít split:

tar czpvf - /path/to/archive | split -d -b 100M - tardisk

To říká tar, aby odeslal data do stdout a rozdělil je, aby je vybral ze stdin - navíc pomocí číselné přípony (-d ), velikost bloku (-b ) 100 M a pomocí 'tardisk' jako základu pro výsledné názvy souborů (tardisk00, tardisk01, tardisk02 atd.).

K následné extrakci dat můžete použít toto:

cat tardisk* | tar xzpvf -

Podívejte se na --new-volume-script možnost, která vám umožní nahradit mechanismus výzvy jiným mechanismem nebo vygenerovaným názvem souboru. ((tar.info)Multi-Volume Archives v tar informační stránku.) Problém s split je, že potřebujete cat části zase dohromady, aby mohly dělat cokoli, zatímco vícesvazkový archiv by měl být o něco flexibilnější.


Samozřejmě nejlepší volbou je --new-volume-script možnost.

Ale pokud znáte velikost souboru (v tomto případě largefile.tgz), můžete to udělat také:

tar -c -M -L 102400 --file=disk1.tar --file=disk2.tar --file=disk3.tar largefile.tgz

Shrnutí:

-c = Create
-M = multi-volume
-L 102400 = 100MB files (disk1.tar, disk2.tar, disk3.tar ...)

(Pro -L zadejte tolik, kolik je potřeba, aby celkový součet souborů tar byl větší než largefile.tgz)

Pokud se pokoušíte tar stromová struktura adresářů


Linux
  1. Jak rozdělit jeden soubor do více souborů na základě řádků

  2. Jak komprimovat více souborů v systému Linux

  3. Vytvořit archiv Tar z adresáře, s výjimkou skrytých souborů?

  1. Vytvořit archiv dehtu rozdělený na bloky maximální velikosti?

  2. Vim:Jak otevřít více souborů na různých kartách?

  3. Jak zkomprimovat více souborů do archivu .xz?

  1. Jak mohu vytvořit vícedílný soubor tar v Linuxu?

  2. Jak gzipovat více souborů do jednoho souboru gz?

  3. Spojte více souborů tar jedním příkazem