Newsgroup: it.comp.os.linux.iniziare
Titolo: creazione di archivi a dimensione fissa

Ciao a tutti,
vorrei creare con tar una serie di archivi compressi dei dati contenuti in
una directory (circa 11 Gb). Vorrei però che venissero creati tot files .tar
di una determinata dimensione massima (diciamo 650 MB) per poterli
masterizzare in seguito.
Ho guardato l'help di tar, ma non ho trovato nulla di adatto.
Avete suggerimenti?
Grazie in anticipo.
--
Claves do Amaral

 masterizzare in seguito.
Fai un ciclo che legge un file, lo comprime e lo aggiunge all'archivio,
poi verifica quanto e' grosso l'archivio, se arriva a 620 Mb passa
a creare un'altro archivio e cosi' via fino a che non ha esaurito i
files nella directory.
Un qualcosa del tipo:
#!/bin/bash
TARNUM=1
TARNAME=/tmp/archivio
TARCMD="tar -czf"
for FILE in directory/* ; do
	gzip $FILE
	$TARCMD $TARNAME.$TARNUM.tar $FILE.gz
	SIZE=`ls -sk $TARNAME.$TARNUM.tar | awk '{print $1}'`
	if [ $SIZE >= 620000 ] ; then
		TARCMD="tar -cf"
		TARNUM=`expr $TARNUM + 1`
	else
		TARCMD="tar -rf"
	fi
done
Davide

 files nella directory.
ok, grazie 1000
--
Claves do Amaral

 masterizzare in seguito.
Prova con l'opzione -M. Se funziona, fammi sapere :)
Ciao
  Andrea

Nickname provvisorio <giampi...@it.inwind.invalid> cosi' si espresse:

Funziona quasi, o meglio, funziona con l'opzione L dimensione, e
l'opzione F filecomandi
Segue un mini howto sul tar avanzato (beh, mi era avanzato un tar, che
c'e' di male?)
Ingredienti:
Una directory da salvare
Una dimensione di cui si vogliono i tar
Uno script che fa il lavoro sporco
Una sana lettura del manuale del tar :-))
Il comando da usare e':
tar  cvLMFfz 1024 ./pippo pippolo.tgz directory
Ricordate. i parametri di tar sono posizionali (a parte z), percio' i
valori abbinati ai parametri debbono seguire in sequenza:
c non ha ulteriori valori
v neppure
L ottiene la lunghezza (1024)
M non richiede parametri
F riceve il nome del file comandi (./pippo)
f riceve il nome dell'archivio di output (pippolo.tgz)
z si preoccupa solo di comprimere
l'ultimo valore e' la directory ( o l'elenco di directory) da salvare.
 
Il file pippo deve essere eseguibile, e contenere qualcosa del genere:
#!/bin/sh
i=`expr \`cat pluto\` + 1`
echo $i
echo $i>pluto
mv pippolo.tgz pippolo.tgz$i
Il file pluto lo si crea con:
echo 0 > pluto
La spiegazione e':
l'opzione L dichiara la lunghezza del nastro (1024 Kbytes, nel mio esempio)
l'opziome M dichiara trattarsi di un multivolume
l'opzione F dichiara che ad ogni fine volume, occorre eseguire il file
pippo
Il file pippo serve perche' altrimenti, il tar ti creerebbe enne file
pippolo.tgz, chiedendoti di cambiare il nastro ad ogni fine volume.
Ma visto che non usi un nastro, ma un file su disco, sovrascriverebbe
enne volte pippolo.tgz, lasciandoti, alla fine, con la sola ultima parte
del backup.
Cosi', invece, rinomini al volo il tgz, per poterlo poi conservare.
Ottieni, con il mio script, una serie di file pippolo.tgz1,
pippolo.tgz2, .... pippolo.tgzENNE fino all'esaurimento del backup.
Se dentro a pippo ci metti la riga di comando per eseguire direttamente
cdrecord, ad esempio, puoi farti il tuo backup direttamente su cd.
-- 
          |Save our planet!
   Ciao   |Save wildlife!
  roberto |For your E-MAIL use ONLY recycled Bytes  !!
          |roberto poggi   
rpo...@softhome.net