Administrare server open source

Platforma de hosting cu software liber, gratuit, open source.

Comentariile sunt închise pentru Arhivare pe volume in Linux

Folosind utilitarele din Linux avem, aparent, un neajuns cand vine vorba de arhivarea fisierelor. Arhivatorul implicit, gzip, nu ne ofera o metoda de a crea o arhiva pe volume cum e in cazul utilitarului WinRAR din Windows. Totusi, acest neajuns poate fi acoperit folosind o simpla comanda care o gasim pe aproape orice sistem UNIX-Like in instalarea default si anume split.

Pentru exemplificare vom crea un fisier buf.txt de 10MB:

[user@localhost ~]$ perl -e 'for( $i=0; $i<10485760 ; $i++) {printf("%d",rand(10));}' > buf.txt
[user@localhost ~]$ ls -lh buf.txt
-rw-r--r--  1 user  wheel   10M Apr 29 10:00 buf.txt
[user@localhost ~]$

Arhivarea o vom face folosind utilitarul gzip. Dupa comprimare vom imparti arhiva in parti de cate 1MB folosind comanda split:

[user@localhost ~]$ gzip buf.txt
[user@localhost ~]$ ls -lh buf.txt.gz
-rw-r--r--  1 user  wheel   4.7M Apr 29 10:16 buf.txt.gz
[user@localhost ~]$ split -b 1M buf.txt.gz
[user@localhost ~]$ ls -lh
total 9728
-rw-r--r--  1 user  wheel   4.7M Apr 29 10:16 buf.txt.gz
-rw-r--r--  1 user  wheel   1.0M Apr 29 10:19 xaa
-rw-r--r--  1 user  wheel   1.0M Apr 29 10:19 xab
-rw-r--r--  1 user  wheel   1.0M Apr 29 10:19 xac
-rw-r--r--  1 user  wheel   1.0M Apr 29 10:19 xad
-rw-r--r--  1 user  wheel   710K Apr 29 10:19 xae
[user@localhost ~]$

Dupa cum se observa, split a impartit fisierul initial in 4 fisiere de 1MB si un fisier de 710KB. E bine sa retinem prefixul fisierelor in cazul in care avem mai multe fisiere in directorul de lucru. In cazul nostru observam ca toate fisierele create au xa ca prefix. Daca avem nevoie de fisierul initial, putem folosi comanda cat pentru concatenarea fisierelor intr-unul singur:

[user@localhost ~]$ cat xa* > buf2.txt.gz
[user@localhost ~]$ gunzip buf2.txt.gz
[user@localhost ~]$ ls -lh buf2.txt
-rw-r--r--  1 user  wheel    10M Apr 29 10:23 buf2.txt
[user@localhost ~]$
Linux

Comments are closed.