Files periodisch auf WD My Cloud löschen - wie vorgehen via crontab und Shell-Script?

2 Antworten

jetzt hatte ich mal etwas Zeit. Hier ein neuer Vorschlag.

find /START-DIR -name "*.jpg" -mtime -21 2>/dev/null -exec rm -f { } \;  

/START-DIR ist das Verzeichnis, in dem (und in dessen Unterverzeichnissen ) die Dateien zu löschen sind.

mit der Option -name wird nach der Zeichenkette ( hier .jpg in DateiNamen gesucht), u.U muss das Ganze mit .jpeg , mit .JPG und .JPEG wiederholt werden.

die Option -mtime  -21  bedeutet Datei muss älter als 21 Tage sein

2>/dev/null  schiebt alle Fehlermeldungen "in die Wildnis"

die Option -exec führt den Befehl rm aus.

Die Klammern { } und \;  bitte nicht vergessen!

das sollte als Cron-job,  recht einfach sein.

rm -f `find / -mtime "*.jpg"  -21`

find sucht  in allen Verzeichnissen unterhalb von / ( das sind hier wirklich alle) Dateien mit der Extension .jpg. Es gibt nur die Namen der Dateien aus, die vor mindestens 21 Tagen geändert wurden. 

Wenn nicht alle Verzeichnisse durchsucht werden sollen, dann nicht / sondern z.B. find /home/jpg-Bilder/ ....

Diese Dateien werden dann rm übergeben und gelöscht. Die Option -f steht für force, also ohne Rückfrage.

Beachte, dass für cron möglicherweise keine Pfad-Variable vorhanden ist. Damit müssen rm und find mit vollem Pfad angegeben werden ( z.B  /usr/bin/rm  )

Teste das aber vorher mit unwichtigen Dingen. Ich habe das nicht vollständig getan!!