Menurut halaman ini , seseorang dapat membiarkan tar membuat "tar" arsip tar menjadi file 100 Mb:
tar -c -M --tape-length = 102400 --file = disk1.tar largefile.tgz
Masalahnya adalah bahwa perintah ini akan meminta Anda untuk secara interaktif memberikan nama file baru untuk file berikutnya, setelah file pertama diisi.
Adakah yang tahu cara untuk melewati langkah interaktif ini, dan biarkan tar melakukan "pemisahan" secara otomatis?
Jawaban:
Lihatlah
--new-volume-script
opsi, yang memungkinkan Anda mengganti mekanisme yang diminta dengan mekanisme yang berbeda atau dengan nama file yang dihasilkan. ((tar.info)Multi-Volume Archives
ditar
halaman info.) Masalahnyasplit
adalah Anda haruscat
menyatukan kembali untuk melakukan apa pun, sedangkan arsip multivolume harus sedikit lebih fleksibel.sumber
Anda dapat menggunakan split untuk ini:
Ini memberitahu tar untuk mengirim data ke stdout, dan membaginya untuk mengambilnya dari stdin - tambahan menggunakan sufiks numerik (
-d
), ukuran chunk (-b
) 100M dan menggunakan 'tardisk' sebagai dasar untuk nama file yang dihasilkan (tardisk00, tardisk01, tardisk02, dll.).Untuk mengekstrak data setelahnya Anda dapat menggunakan ini:
sumber
-d
adalah untuk sufiks numerik, bukan awalan.Tentu saja opsi terbaik untuk digunakan adalah
--new-volume-script
opsinya.Tetapi, jika Anda mengetahui ukuran file (dalam hal ini, largefile.tgz), maka Anda dapat melakukan ini juga:
Ringkasan:
(Untuk -L, tentukan sebanyak yang diperlukan sehingga jumlah total file tar lebih besar dari largefile.tgz)
Jika Anda mencoba
tar
struktur pohon direktorisumber
Saya mulai bekerja dengan perintah berikut:
Satu-satunya masalah adalah bahwa
part_1.tar
sebenarnya akan menjadi file terakhir, dan yang lainnya digeser oleh satu. Yaitupart_2.tar
sebenarnya adalah bagian pertama, danpart_k.tar
merupakan bagian(n - 1)
ke-5 . Memperbaiki ini dengan beberapa skrip shell adalah sepele, dan dibiarkan sebagai latihan untuk pembaca.sumber
itu akan secara otomatis membuat file ukuran 1.1GB, jika ukuran tar Anda lebih besar, Anda dapat menambah jumlahnya, misalnya 1000 {2..1000} atau Anda dapat menambah masukan ke argumen panjang pita.
sumber