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

Re: Problem mit Cronjob



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


Reply to: