PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Per Cronjob alte dateien löschen.....



rain
02.02.06, 20:18
Hallo Miteinander!

Ich bringe es einfach nicht zusammen, dass ich per Cronjob in einem Verzeichnis alle Datein lösche die älter als X Tage sind.

Wahrscheinlich fehlt mir da noch der Überblick in der Linux welt.

Wie könnte denn so ein Befehl aussehen?

Besten Dank im Voraus

Grüße
rain

kshade
02.02.06, 20:56
tmpwatch aus Fedora Core macht das hier ganz zuverlässig jeden Tag per cronjob (und das unter Gentoo :ugly: ). (S)RPM gibts hier (http://download.fedora.redhat.com/pub/fedora/linux/core/development/SRPMS/), deine Distro hat sicher auch sowas im Gepäck :)

EDIT: Erm, /usr/sbin/tmpwatch bräuchte man für das Script auchnoch, darum entfernt.

kreol
02.02.06, 20:59
Du könntest den Befehl direkt als cronjob in die /etc/crontab eintragen. Bsp. für tägliches Ausführen um 12:00 h:
echo "00 12 * * * user find /foo/bar -ctime +n -exec rm '{}' \;" >> /etc/crontabDas n durch die Anzahl der Tage ersetzen...

Achtung, nicht getestet! Laß das find erst mal ohne -exec rm durchlaufen...

NACHTRAG: Ist natürlich keine gute Idee, alle Dateien die älter als n-Tage sind zu löschen :ugly: Das sollte tatsächlich auf ein bestimmtes, hierfür geeignetes Verzeichnis (/foo/bar) beschränkt werden.

Nachtrag 2: Grob fehlerhaft gewesen, jetzt sollte es klappen. Aber das find erstmal ohne rm testen...

Kreol

rain
03.02.06, 10:44
Danke werds mal ausprobieren...