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

Re: kopieren von nur vollständig erstellten Dateien



Hallo,

Ich hatte mit lsof experimentiert, aber nicht die richtige Option für
diesen Befehl gefunden.

Die Option -mmin im find-Befehl scheint eine sehr gute Lösung zu sein.

Franz Timmer

On 23.06.2012 19:06, Andreas Schmidt wrote:
> 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: