2011-01-14 10 views
0

Ich muss herausfinden, wie die meisten Dateien automatisch aus meinem/tmp-Verzeichnis auf einem Centos-Server entfernt werden. Das Verzeichnis füllt sich immer mehr mit Junk, die gehen müssen, aber da sind Dateien drin, die bleiben müssen, also:Wie lösche ich alte [er] Dateien aus meinem centos/tmp-Verzeichnis AUSNAHME bestimmter Dateien, die noch verwendet werden?

Wie kann ich Dateien in/tmp löschen, die über 24 Stunden alt sind UND Dateien mit bestimmten Dateien behalten Namensmuster?

+1

Sollte dies nicht auf die Linux & Unix Stackexchange verschoben werden? –

Antwort

1

Sie können dazu find verwenden.

find -mtime 1 -regex [your_pattern_here] -exec rm -f {} \; 

mtime sieht für alle Dateien, die älter als N Tage alt, und die [your_pattern_here] in diesem Fall wäre das Muster der Dateien, die Sie wollen halten. Es wäre am besten, das erste am Ende ohne exec Teil zu tun, um sicherzustellen, dass es die Dateien zu finden, Sie erwarten (oder was noch wichtiger ist, nicht Suche nach Dateien, die Sie behalten möchten)

+0

Hallo Daniel; danke - das scheint der richtige Weg zu sein, obwohl ich tmpwatch jetzt benutzen kann. Vielen Dank. –

+3

'-mtime N' sucht nach Dateien, die * genau * N Tage alt sind. Für "mehr als 24 Stunden alt" verwenden Sie "-mtime + 0". – mob

3

Ich glaube, Centos hat tmpwatch.

+0

Hallo Dennis; danke, ich war mir tmpwatch nicht bewusst, es hat nicht die Fähigkeit [von den man-Seiten], bestimmte Dateien zu ignorieren, aber ich fand heraus, wie ich die Dateien, die ich aufbewahren musste, an einen geeigneteren Ort bringen konnte. sieht aus, als würde ich das einfach in Crontab abfeuern. –

+0

@Sean: 'tmpwatch' hat' --exclude'. Ich glaube, dass sein Argument eine Datei und nicht ein Verzeichnis sein kann, und Sie können es möglicherweise mehr als einmal angeben oder Globbing verwenden. Entschuldigung, ich weiß es nicht genau. –

Verwandte Themen