No such file or directory
lixx
- webserver
Hallo Leute!
Ich habe da ein /bin/sh-Script auf'nem Mac, das mir aus einem Verzeichnis Ordner ausliest, die einer bestimmte Namenskonvention entsprechen, komprimiert und anschließend löscht. Allerdings bekomme ich beim löschen immer die Meldung "No such file or directory". Das Script funktioniert aber sonst. Also es sucht, komprimiert und die Verzeichnisse sind weg. Nur möchte ich keine Fehlermeldungen haben.
Die Scriptzeile:
find "$cleaningDir" ( -name '* [0-9]*.[0-9]' -or -name '* [0-9]*.[0-9] [.*]' ) -path '*/-Layout/*' -type d -exec cd "{}" ; -execdir tar -czf "{}.tar.gz" "{}" ; -exec rm -fR "{}" ; -print >> $dir/log.txt
Wenn ich nun "rm" weglasse und bei "tar" --remove-files dazugebe habe ich das gleiche Problem.
Woran könnte das liegen?
lg lixx
Hello,
Die Scriptzeile:
find "$cleaningDir" ( -name '* [0-9]*.[0-9]' -or -name '* [0-9]*.[0-9] [.*]' ) -path '*/-Layout/*' -type d -exec cd "{}" ; -execdir tar -czf "{}.tar.gz" "{}" ; -exec rm -fR "{}" ; -print >> $dir/log.txt
Du erwartest jetzt aber hoffentlich nicht, dass wir das auf unseren Linux-Hosts nachvollziehen?
Mein Vorschlag:
Gib eine komplette Funktionsbeschreibung zu dieser Befehlszeile ab, haarklein erklärt, so wie Du meinst, dass sie funktionieren SOLL. Dann können wir vergleichen, ob Vorlage und Vorstellung übereinstimmen.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hello,
Die Scriptzeile:
find "$cleaningDir" ( -name '* [0-9]*.[0-9]' -or -name '* [0-9]*.[0-9] [.*]' ) -path '*/-Layout/*' -type d -exec cd "{}" ; -execdir tar -czf "{}.tar.gz" "{}" ; -exec rm -fR "{}" ; -print >> $dir/log.txtDu erwartest jetzt aber hoffentlich nicht, dass wir das auf unseren Linux-Hosts nachvollziehen?
ob Linux oder Mac, ob der "find" das gleich macht ist die Frage!
Ansonsten:
Der find scheint Dateien zufinden die beim finden mehrfach auf die Muster passen. aber nach dem loeschen halt nicht mehr da sind.
Mein Tip:
mach ein schoenes Script Step by Step .
1. Dateien suchen
2. in einer schleife alles fein taren
3. in der naechsten schleife loeschen
dann macht Deine log.txt auch Sinn
Mit freundlichen Gruessen
Ulli
Hello,
ob Linux oder Mac, ob der "find" das gleich macht ist die Frage!
vielleicht hilft ihm/ihr diese Beschreibung weiter:
http://www.onlamp.com/pub/a/bsd/2002/02/21/FreeBSD_Basics.html
Ich weiß nur, dass ich von find mit -exec lieber die Finger lasse.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hello,
Ich weiß nur, dass ich von find mit -exec lieber die Finger lasse.
Korrekt! find find files! mehr nicht!
bis dann
Ulli