GNU/Linux >> Belajar Linux >  >> Linux

Buat Arsip Tar Dipecah Menjadi Blok Ukuran Maksimal?

Saya perlu membuat cadangan direktori yang cukup besar, tetapi saya dibatasi oleh ukuran file individual. Saya pada dasarnya ingin membuat tar.(gz|bz2) arsip yang dibagi menjadi arsip maksimum 200MB. Clonezilla melakukan sesuatu yang mirip dengan ini dengan memisahkan cadangan gambar yang diberi nama seperti ini:

sda1.backup.tar.gz.aa
sda1.backup.tar.gz.ab
sda1.backup.tar.gz.ac

Apakah ada cara saya bisa melakukan ini dalam satu perintah? Saya mengerti cara menggunakan split perintah, tetapi saya tidak ingin membuat satu arsip raksasa, lalu membaginya menjadi arsip yang lebih kecil, karena ini akan menggandakan ruang disk yang saya perlukan untuk membuat arsip pada awalnya.

Jawaban yang Diterima:

Anda dapat menyalurkan tar ke perintah split:

tar cvzf - dir/ | split --bytes=200MB - sda1.backup.tar.gz.

Pada beberapa sistem *nix (seperti OS X), Anda mungkin mendapatkan kesalahan berikut:

split: illegal option -- -

Dalam hal ini coba ini (perhatikan -b 200m ):

tar cvzf - dir/ | split -b 200m - sda1.backup.tar.gz.

Jika Anda mencoba membagi file agar muat pada drive berformat FAT32,
gunakan batas byte 4294967295. Misalnya:

tar cvzf - /Applications/Install macOS Sierra.app/ | 
split -b 4294967295 - /Volumes/UNTITLED/install_macos_sierra.tgz.

Saat Anda ingin mengekstrak file, gunakan perintah berikut (seperti komentar @Naftuli Kay):

cat sda1.backup.tar.gz.* | tar xzvf -

Linux
  1. Buat Arsip Tar Dari Direktori, Kecuali Untuk File Tersembunyi?

  2. Melanggar Output Menjadi Baris Baru?

  3. Perintah tar Linux

  1. Kesalahan tar:EOF tak terduga dalam arsip

  2. Bagaimana cara membuat arsip tar dipecah menjadi, atau mencakup, banyak file?

  3. Format arsip yang diindeks?

  1. Bagaimana Mengompresi Banyak File Menjadi Arsip .xz?

  2. 10 contoh perintah Tar di Linux untuk membuat dan mengekstrak arsip

  3. Kompres folder dengan tar?