Repository 32bit  Forum
Repository 64bit  Wiki

[RISOLTO] Discrepanza tra find e tar

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata e la versione del Kernel. Questi dati aiutano le persone che possono rispondere.
2) Specificare sempre il tipo di shell (bash, sh, csh, etc...)
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 dell'ultima regola 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 2: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 11:57, modificato 1 volta in totale.
pedrus
Linux 2.0
Linux 2.0
 
Messaggi: 112
Iscritto il: ven ago 24, 2007 17:55
Località: Taranto-Pavia

Re: Discrepanza tra find e tar

Messaggioda 414N » sab mar 08, 2008 11: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: 2844
Iscritto il: mer feb 13, 2008 17: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 11: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 12:30
Località: Terra
Slackware: 12.1

Re: Discrepanza tra find e tar

Messaggioda Mario Vanoni » sab mar 08, 2008 11: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 21: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 11: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 17:55
Località: Taranto-Pavia


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite