Repository 32bit  Forum
Repository 64bit  Wiki

[RISOLTO] Discrepanza tra find e tar

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

[RISOLTO] Discrepanza tra find e tar

Messaggioda pedrus » sab mar 08, 2008 1:59

Ciao a tutti, ho un problema, lancio il comando:
Codice: Seleziona tutto
find /media/archivio/* -mtime -1 -exec tar cf /var/backup/incrementale-`date +%F`.tar {} \;


Quindi find genera un elenco che passa al comando tar per generare l'archivio. La generazione dell'archivio procede e infatti lo vedo crescere in dimensioni, alla fine della procedura, però, l'archivio diventa di pochi kbyte e al suo interno di fatto trovo solamente l'ultimo file trovato con il comando find. Teoricamente al suo interno ci dovrebbero essere tutti i file che find trova, ma in realtà c'è solo l'ultimo. In cosa sbaglio?
Ultima modifica di pedrus il sab mar 08, 2008 10:57, modificato 1 volta in totale.
pedrus
Linux 2.0
Linux 2.0
 
Messaggi: 112
Iscritto il: ven ago 24, 2007 16:55
Località: Taranto-Pavia

Re: Discrepanza tra find e tar

Messaggioda 414N » sab mar 08, 2008 10:34

Usando il flag c di tar crei ogni volta un nuovo archivio, percui è logico che alla fine contenga solo l'ultimo file riportatogli da find.
Dovresti usare il flag r (append) per aggiungere in fondo all'archivio i nuovi files.
Se guardi la man page di tar trovi tutte queste indicazioni.
Avatar utente
414N
Iper Master
Iper Master
 
Messaggi: 2882
Iscritto il: mer feb 13, 2008 16:19
Località: Bulagna
Slackware: 14.0 (x64)
Kernel: 3.2.29
Desktop: LXDE

Re: Discrepanza tra find e tar

Messaggioda ZeD » sab mar 08, 2008 10:36

pedrus ha scritto:Ciao a tutti, ho un problema, lancio il comando:
Codice: Seleziona tutto
find /media/archivio/* -mtime -1 -exec tar cf /var/backup/incrementale-`date +%F`.tar {} \;


Quindi find genera un elenco che passa al comando tar per generare l'archivio. La generazione dell'archivio procede e infatti lo vedo crescere in dimensioni, alla fine della procedura, però, l'archivio diventa di pochi kbyte e al suo interno di fatto trovo solamente l'ultimo file trovato con il comando find. Teoricamente al suo interno ci dovrebbero essere tutti i file che find trova, ma in realtà c'è solo l'ultimo. In cosa sbaglio?


tar c crea un nuovo file tar da zero
tu vuoi usare l'opzione -A (o -u)
man tar per maggiori informazioni
Avatar utente
ZeD
Linux 2.0
Linux 2.0
 
Messaggi: 112
Iscritto il: ven ott 28, 2005 11:30
Località: Terra
Slackware: 12.1

Re: Discrepanza tra find e tar

Messaggioda Mario Vanoni » sab mar 08, 2008 10:49

pedrus ha scritto:Ciao a tutti, ho un problema, lancio il comando:
Codice: Seleziona tutto
find /media/archivio/* -mtime -1 -exec tar cf /var/backup/incrementale-`date +%F`.tar {} \;


Quindi find genera un elenco che passa al comando tar per generare l'archivio. La generazione dell'archivio procede e infatti lo vedo crescere in dimensioni, alla fine della procedura, però, l'archivio diventa di pochi kbyte e al suo interno di fatto trovo solamente l'ultimo file trovato con il comando find. Teoricamente al suo interno ci dovrebbero essere tutti i file che find trova, ma in realtà c'è solo l'ultimo. In cosa sbaglio?


-exec tar, find esegue tar su ogni singolo argomento che trova

find /media/archivio/* -mtime -1 -print | tar cf /var/backup/incrementale-`date +%F`.tar

man find, consiglia di mettere -print in ogni caso, anche se sottinteso
Mario Vanoni
Iper Master
Iper Master
 
Messaggi: 3174
Iscritto il: lun set 03, 2007 20:20
Località: Cuasso al Monte (VA)
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey

Re: Discrepanza tra find e tar

Messaggioda pedrus » sab mar 08, 2008 10:57

Ieri sera queste prove le avevo fatte tutte, man tar lo avevo anche visto, bah, forse sarà stato l'orario, la stanchezza, o forse più semplicemente il fatto che io sono un incapace. Ma io ricordo che ciò che mi state dicendo voi avevo provato a farlo, nell'ultimo caso non avevo messo il -print. Comunque, ora con il parametro -r sembra andare. Continuo a testarlo e vedo come va. Per il momento metto un bel [RISOLTO].
pedrus
Linux 2.0
Linux 2.0
 
Messaggi: 112
Iscritto il: ven ago 24, 2007 16:55
Località: Taranto-Pavia


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Yahoo [Bot] e 1 ospite

cron