Hallo Denise, Denise Schmid <Chinatinte@gmx.ch> (Do 24 Sep 2009 19:41:54 CEST): (…) > > Inzwischen geht die Verwirrung allerdings weiter. Nachdem das Script in einem ersten Durchlauf brav alle Dateien gelöscht hat, bockt es jetzt wieder (und glücklicherweise unabhängig von 'exec $'). Statt alle Dateien im Ordner zu löschen, löscht es nun lediglich ein einziges File. Ok, wenigstens fühle ich mich bestätigt, daß es mit dem „exec …“ nichts zu tun hatte :) Woher weißt Du, daß die anderen Files schon dort waren, als Dein Script gelaufen ist? Hast Du das mit dem „set -e“ eingebaut, dann könnte auch das problematisch sein: wenn „wipe -f *“ keine Files findet, ist der Script zu Ende, außer Du entschärfst das wieder mit „… || true“ > wipe liegt in /usr/bin/wipe, und das ist auch im Pfad der crontab drin. > > Aber vielleicht ist mein Ansatz ja auch total falsch: Ich möchte einfach, dass bestimmte Dateien in einem bestimmten Rhytmus auf meinem System gelöscht werden. Gäbe es neben cron denn noch andere (allefalls bessere) Lösungen? Cron ist da schon der richtige Ansatz. Der (das?) Script sähe bei mir so aus: #! /bin/bash # files, die älter als einen Tag sind, löschen find \ /home/denise/.thumbnails/… \ /home/denis/.thumbnails/… \ … \ -type f \ -mtime +1 \ -delete bzw. wenn Du auf das „wipe“ Wert legst, statt „-delete“ einfach -exec wipe -f {} + Wobei diese Lösung rekursiv vorgeht, im Unterschied zu dem von Dir geposteten Script (wipe bräuchte dann wohl noch „-r“ als Option). Wenn das find nicht rekursiv sein soll, müsstest Du oben noch ein „-maxdepth 0“ vor dem „-type f“ einfügen. -- Heiko
Attachment:
signature.asc
Description: Digital signature