copiare files con dimensione diversa da zero bytes... [messaggio #36467] |
mar, 08 marzo 2011 23:16 |
Charles Carmichael Messaggi: 118 Registrato: gennaio 2011 |
Senior Member |
|
|
Salve!
Al momento con cron, ho schedulato la copia di tutti i files *.bla da
una cartella all'altra, ma a volte mi capita che qualche file *.bla sia
corrotto e non debba farne il backup (con cron copio da un disco
all'altro tutti i giorni alle 10 del mattino).
Se volessi copiare tutti i files con dimensione diversa da zero (quindi
sicuramente buoni, fidatevi...altrimenti il files è zero bytes se il
programma che li genera và in panne) esiste qualche parametro da passare
a cp?
al momento faccio un brutale cp /dir1/* /dir2
Idee?
Grazie!
|
|
|
|
|
|
|
|
|
|
Re: copiare files con dimensione diversa da zero bytes... [messaggio #36485 è una risposta a message #36474] |
mer, 09 marzo 2011 16:40 |
Alessandro Selli Messaggi: 242 Registrato: novembre 2010 |
Senior Member |
|
|
Giovanni ha scritto:
[...]
> Se in /dir1 ci sono subdirectories la cosa è un poco più complicata ma
> partendo da un semplice script dovrebbe essere facilmente realizzabile
A quanto ha già fatto notare Lem Novantotto aggiungo:
> for file in $(ls /dir1 ); do
*MAI* usare ls in uno script per verificare/trovare il nome di oggetti del
filesystem! Per più e più ragioni, tra le quali:
0) non è portabile (ci sono implementazioni diverse di ls);
1) ls non produce un output congruente con quello che altri comandi si
aspettano, specie nel caso di ricorsività tra più livelli di directory;
2) ls non tratta adeguatamente oggetti con caratteri inusuali ma legittimi;
3) ls non tratta diversamente gli spazi che fanno parte del nome di un
oggetto del filesystem dagli spazi usati come separatori;
4) ls non permette di discriminare facilmente tra i vari tipi di oggetti del
filesystem.
Da leggersi: http://mywiki.wooledge.org/ParsingLs
> test -s /dir1/$file && cp /dir1/$file /dir2
Le virgolette! Bisogna abituarsi a quotare ogni volta l'espansione delle
variabili, anche quando sembra inutile! È un'abitudine che eviterà (più
presto che dopo) spiacevoli errori, specie in script che alterano un filesystem!
Ciao,
--
Alessandro Selli, http://alessandro.route-add.net
AVVERTENZA: i messaggi inviati a "trappola" non mi arriveranno.
WARNING: messages sent to "trappola" will never reach me.
Chiave PGP/GPG: EC885A8B
|
|
|