[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: kopieren von nur vollständig erstellten Dateien



Die Schleife hier kopiert die Dateien, aber du wolltest ja verschieben,
also statt "cp" muss dann natürlich "mv" eingesetzt werden.

Gruß
Andreas


Am 23.06.2012 um 18:51 schrieb Andreas Schmidt:

> Hallo,
> 
> mit folgender Schliefe kannst du das lösen:
> while read FILE
> do
> 	if cp ${FILE} <ZIELVERZEICHNIS> ; then
> 		echo "Kopieren von Datei ${FILE} OK"
> 	else
> 		echo "Kopieren von Datei ${FILE} FEHLER"
> 	fi 
> done < <(find <QUELLVERZEICHNIS>/* -mmin +1 -type f)
> 
> Hier passiert folgendes:
> 01.	Finde alle Dateien im Quellverzeichnis, die sich mindestens 1 Minute nicht verändert haben
> 	Also damit wird sichergestellt, das die Datei vollständig kopiert wurde.
> 02.	Gefundene Datei wird in die Variable FILE geschrieben
> 03.	Kopiere Datei nach Zielverzeichnis
> 04a.	Ist alles gut gegangen, dann kommt eine OK-Meldung
> 04b.	Ist irgendwas schief gelaufen, dann wird entsprechend die FELHER-Meldung angezeigt
> 05.	Wurden alle neuen Dateien abgearbeitet, dann verlasse die Schleife
> 
> In der Schleife kannst du natürlich auch nur "cp ${FILE} <ZIELVERZEICHNIS>" angeben,
> aber dann bekommst du keine Rückmeldung, wenn etwas schief gegangen ist.
> Willst du z.b. nur eine Meldung bekommen, wenn es Probleme gab, dann würde die Schleife
> so aussehen:
> 
> while read FILE
> do
> 	if ! cp ${FILE} <ZIELVERZEICHNIS> ; then
> 		echo "Kopieren von Datei ${FILE} FEHLER"
> 	fi 
> done < <(find <QUELLVERZEICHNIS>/* -mmin +1 -type f)
> 
> Gruß
> Andreas
> 


Reply to: