Alle Dateien die älter sind als xx Tage löschen

P

Pot

Grünschnabel
Hii...

zuerst muss ich noch was sagen: Bashgob http://www.unixboard.de/vb3/showthread.php?t=19793 der war gut :P naja ist halb so schlimm. Mit so dummen Leuten wie mich die wahllos Festplatten formatieren kann man das ja machen X( :D :)) :think: ?( ;(

Also zurück zu meinem Problem. Ich möchte mit einem Shell Skript, dass täglich per crontab aufgeruffen wird, alle Dateien in einem bestimmten Ordner löscht, (keine Unterverzeichnisse), die älter als xx Tage sind.
 
vielen dank für die vielen Antworten :P

edit:
klappt alles super, vielen Dank
 
Zuletzt bearbeitet:
@pot : auch wenn du da "absichtlich" in die falle gelockt wurdest, solltest du immer erst pruefen, was befehle die du wo findest/empfohlen bekommst bewriken. oft ist es auch so, daß etwas bei einem user wunderbar funkt und beim anderen dann heilloses chaos anrichtet.
 
Mir ist klar wie ich Files löschen kann, welche älter als x Tage sind.
Doch ich frage mich, wie ich Files löschen kann, die älter als z.B der 2. August 2008 um 19.00 Uhr sind. Also mit einer genauen Datum-/Zeitangab.

Ist das möglich oder muss man es wirklich mit der Anzahl Tage machen? Würde eventuell ein 20080815_1130 im Dateinamen helfen? Kann man da mit einem > oder > arbeiten?

Ich danke für jede Hilfe
 
Naja absichtlich in die Falle? Es war ja sogar deutlich gesagt, "damit wirklich alles weg ist" Aber find ich gut, dass du's gelassen nimmst.
 
@saeckereier
Deine Antwort bezieht sich auf einen sehr alten Thread, hilft vasy aber nicht.

@vasy
Du hättest einen neuen Thread aufmachen sollen.

Auch deine Verwendete Shell und OS wär hier hilfreich.
Warum gerade in deinem Fall?
Weil es u.A. vom verwendeten date abhängt, ob du damit einfach ein Datum in unixtime umwandeln kannst.

Mir ist klar wie ich Files löschen kann, welche älter als x Tage sind.
Doch ich frage mich, wie ich Files löschen kann, die älter als z.B der 2. August 2008 um 19.00 Uhr sind. Also mit einer genauen Datum-/Zeitangab.

Ist das möglich oder muss man es wirklich mit der Anzahl Tage machen? Würde eventuell ein 20080815_1130 im Dateinamen helfen? Kann man da mit einem > oder > arbeiten?

Ich danke für jede Hilfe

Du kannst mit find die ctime atime etc im eigenen Format ausgeben. Z.B. mit @ -> Unixtime (Sek seit 1.1.1970)
Dann in eine Schleife und selbst prüfen.
Die Püfvariable setzt du mit GNU date und prüfst dann auf kleiner größer oder was du willst.
Code:
$ date -d"20080802 19:00 CEST"
Sat Aug  2 19:00:00 CEST 2008
$ date -d"20080802 19:00 CEST" +"%s"
1217696400

HTH
Wolfgang
 
@saeckereier
Deine Antwort bezieht sich auf einen sehr alten Thread, hilft vasy aber nicht.

Jo, hatte nicht gesehen, dass er einen Uralt Thread ausgegraben hatte, danke für den Hinweis.
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

Ach ja zu deinem Tipp, ich habe es nicht geprüft, meine aber, dass man den ctime oder atime Parameter dann in der Art + 1217696400 find übergeben kann und dann braucht's doch keine Schleife mehr?
 
Zuletzt bearbeitet:
Jo, hatte nicht gesehen, dass er einen Uralt Thread ausgegraben hatte, danke für den Hinweis.
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

Ach ja zu deinem Tipp, ich habe es nicht geprüft, meine aber, dass man den ctime oder atime Parameter dann in der Art + 1217696400 find übergeben kann und dann braucht's doch keine Schleife mehr?

Na dann prüf es mal. ;)

Mein GNU find kann das so nicht.
Du kannst entweder Tage oder Minunten angeben.

Auf jeden Fall musst du es vorher dann selbst errechnen.
Ob das effizienter ist sei dahingestellt.

Abgesehen davon ist ja nichtmal klar von welchem find wir hier reden.
Ich habe mich hier nur auf GNU find bezogen.

Gruß Wolfgang
 
Ach so, ich sehs. Ich hab mich verlesen und dachte du meintest den -ctime vom find. Ich hab das Wort "ausgeben" überlesen. Übrigens ich denke auch in GNU.
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

Und ja, viel anders als von dir beschrieben wird das wirklich nichts.
 
Zuletzt bearbeitet:

Ähnliche Themen

Dateien mit Ausnahme der aktuellste löschen

Cronjob um Dateien und Ordner die älter als 7 Tage sind löschen

X Tage alte Dateien löschen

Dateien automatisch löschen -> Fehlermeldung im Mail

Löschen von Verzeichnissen älter als x Tage per Cron (Script)

Zurück
Oben