[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.
Rispondi
pedrus
Linux 1.x
Linux 1.x
Messaggi: 112
Iscritto il: ven 24 ago 2007, 17:55
Località: Taranto-Pavia

[RISOLTO] Discrepanza tra find e tar

Messaggio da pedrus »

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 8 mar 2008, 10:57, modificato 1 volta in totale.

Avatar utente
414N
Iper Master
Iper Master
Messaggi: 2922
Iscritto il: mer 13 feb 2008, 16:19
Slackware: 15.0
Kernel: 5.15.19
Desktop: KDE5
Località: Bulagna
Contatta:

Re: Discrepanza tra find e tar

Messaggio da 414N »

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
ZeD
Linux 1.x
Linux 1.x
Messaggi: 112
Iscritto il: ven 28 ott 2005, 12:30
Slackware: 12.1
Località: Terra

Re: Discrepanza tra find e tar

Messaggio da ZeD »

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

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: Discrepanza tra find e tar

Messaggio da Mario Vanoni »

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

pedrus
Linux 1.x
Linux 1.x
Messaggi: 112
Iscritto il: ven 24 ago 2007, 17:55
Località: Taranto-Pavia

Re: Discrepanza tra find e tar

Messaggio da pedrus »

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].

Rispondi