Dateien löschen die älter sind als....

W

web4free

Jungspund
Hallo Leute,

Auf der Suche nach dem besagten Befehl bin ich hier über diesen Thread gestoßen.
Sehr gut, denn dass ist es wonach ich gesucht habe.

Ich hätte aber zuvor noch eine Frage.
Ich habe mittels touch(); in PHP das Filedatum geändert auf, sagen wir mal den 20.07.2007 00:00:00

Wenn ich nun - heute - hergehe und
Code:
find /pfad -mtime +10 -exec rm {} \;
mache findet er das File nicht.

Mache ich ein
Code:
find /pfad -mtime +1
dann zeigt er mir besagtes File an.
Ich denke da ich mittels touch() in PHP ja nur die filemtime(); geändert habe, wird das mit diesen Code nicht funktionieren.
Bin selbst noch ziehmlich grün hinter den Ohren was Linuxbefehle betrifft, deswegen auch meine Frage an euch.

lg.
Werner
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

Ach Leute ich bin ja sooo blöd :headup:

Wenn ich nur ein File im Verzeichnis - zwecks Test - habe mit dem Datum 20.07.2007 00:00:00 und ich versuche ein File zu finden was von heute 10 Tage alt ist, werd ich es nicht finden können.

Wenn das File grad mal 7 Tage alt ist sollte ich vielleicht nach einem File suchen was älter als 6 Tage ist :oldman

Naja, wenigstens hab ich es selbst herausgefunden.
 
Zuletzt bearbeitet:
Naja schon, danke fürs Lob! Aber hätt ich gleich richtig gedacht wäre es zu diesen Thread ja erst gar nicht gekommen :-)
Aber am meisten lernt man, wenn man die Fehler selber findet - auch wenns nicht immer leicht ist und der Wald vor lauter Bäumen nicht zu sehen ist.
 
Hi all,

eine Frage wirft sich aber dennoch auf.
Das Löschen von Dateien welche älter sind funktioniert ja.

Wie verhällt sich das aber wirklich.
Ich habe festgestellt, dass ich - leider - extrem viele Dateien zum Löschen habe.
Eigendlich sollte ja nur ca. 600.000 Bilddateien vorliegen und in Wirklichkeit sind es über 5Mio. - schöner Shit, weil hier irgendwas schief gegangen ist bei meinen Scripten.

Aber jetzt muß ich löschen und habe allen relevanten Dateien die ich brauche ein neues Datum verpflanzt.
Dieses ist jetzt - als ältestes gültiges Datum - der 26.07.2007 00:00:00

Wenn ich jetzt diesen Befehl auf der Commandozeile ausführe, bzw. als Prozess im Hintergrund laufen lasse bis er fertig ist, dauert das jetzt schon bereits den 2. Tag.
Code:
find /srv/www/web1/html/inserate -mtime +3 -exec rm {} ;
Ist mir eigendliuch egal wie lange der braucht um die Files zu löschen die nur Schrott sind.
Ich habe nur die Befürchtung dass er sich beim Datum immer ganz aktuell an den momentanen Zeitpunkt hällt und mir dann Files löscht die eigendlich nicht weg müssten.

Wenn das Script jetzt im Dauerlauf durchläuft ohne Pause - was macht er mir dann am 30.07 ??? Alles löschen was älter als der 27.07 ist?? Das wäre extrem und mein Ar... sehr weit aufgerissen.

Oder weiß er anhand des Startzeitpunktes des Befehles dass ich, solange der Befehl läuft, immer auf den 26.07 beziehe?
Wisst Ihr was ich mein?
Ich will nur verhindern, dass er mir weil er scheinbar extrem lange brachen wird, einfach immer vom aktuellsten Zeitpunkt der gerade herrscht diese 3 Tage zurückgeht.

Ausser es gibt eine Möglichkeit dem Befehl zu sagen lösche alles was älter als der 26.07.2007 ist.

Bitte um Eure Hilfe - ich habe Befürchtungen.....
 
Zuletzt bearbeitet:

Ähnliche Themen

Wie Dateien in 2 versch. Ordenern unter AIX (Syntax ähnl. wie LINUX) löschen ?

SED: Zu bearbeitende Dateien aus Textfile einlesen

[Tcl / Shell] Ändern einer Datei per vi - Änderungsdatum einer Datei erfassen

X Tage alte Dateien löschen

script backup löschen

Zurück
Oben