Probleme mit find mtime und atime
Hallo Liste, ich habe ein Skript erstellt, dass Dateien, die älter 30 Tage sind automatisch löscht. Das klappt auch prima mit find . -mtime +30 -type f ... Leider habe ich das Problem, dass Dateien, die von einer lokalen Platte (windowspc) auf das Netzlaufwerk (sambafreigabe) kopiert werden, dann noch das alte Datum haben (wenn zwischenzeitlich nichts gändert wurde). Diese Daten werden dann aber gnadenlos gelöscht. Gibt es eine Möglichkeit dies zu verhindern ? find -atime +30 zeigt mir gar keine Dateien an, obwohl dort Dateien liegen die def. seit 2006 nicht mehr angefasst wurden. -- Regards, Jens Strohschnitter ------------------------------------- *!!!LINUX LINUX LINUX LINUX LINUX!!!* * http://www.jens-strohschnitter.de * ------------------------------------- Set the controls for the heart of the sun ------------------------------------- __________________________________________________________ Raiffeisen Waren-Zentrale Rhein-Main eG 50668 Koeln, Altenberger Str. 1a Tel: 0221/1638-0 Fax: 0221/1638-254 Sitz: Koeln Amtsgericht Koeln, GnR 728 Vorstand: Hans-Josef Hilgers (Sprecher) Markus Stuettgen Dr. Karl-Heinrich Suemmermann Friedhelm Decker (Vorsitzender) Ingo Steitz Vorsitzender des Aufsichtsrates: Peter Bleser (MdB) St.Nr.: 215/5938/0152 Bankverbindung: WGZ Bank AG, Duesseldorf (BLZ 300 600 10) Konto-Nr.: 300 011 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
* Jens Strohschnitter wrote on Thu, Mar 29, 2007 at 14:32 +0200:
ich habe ein Skript erstellt, dass Dateien, die älter 30 Tage sind automatisch löscht. Das klappt auch prima mit
find . -mtime +30 -type f ...
Leider habe ich das Problem, dass Dateien, die von einer lokalen Platte (windowspc) auf das Netzlaufwerk (sambafreigabe) kopiert werden, dann noch das alte Datum haben (wenn zwischenzeitlich nichts gändert wurde). Diese Daten werden dann aber gnadenlos gelöscht.
Gibt es eine Möglichkeit dies zu verhindern ?
Ja, gibt es. Was möchtest Du denn? Älter als 30 Tage, aber nicht auf einem anderen Filesystem? Dann find -xdev. oki, Steffen -- Dieses Schreiben wurde maschinell erstellt, es trägt daher weder Unterschrift noch Siegel. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
* Jens Strohschnitter wrote on Thu, Mar 29, 2007 at 14:32 +0200:
ich habe ein Skript erstellt, dass Dateien, die älter 30 Tage sind automatisch löscht. Das klappt auch prima mit
find . -mtime +30 -type f ...
Leider habe ich das Problem, dass Dateien, die von einer lokalen Platte (windowspc) auf das Netzlaufwerk (sambafreigabe) kopiert werden, dann noch das alte Datum haben (wenn zwischenzeitlich nichts gändert wurde). Diese Daten werden dann aber gnadenlos gelöscht.
Gibt es eine Möglichkeit dies zu verhindern ?
Ja, gibt es.
Was möchtest Du denn? Älter als 30 Tage, aber nicht auf einem anderen Filesystem? Dann find -xdev.
Hi also mit -xdev werden die Daten ebenfalls gelöscht. Das Skript läuft nativ auf dem Linux-Server auf einem ReiserFS-System. Die Daten werden von Windows auf ein Sambashare kopiert, haben nach dem Kopievorgang das Datum der letzten Änderung (z.B. 01.02.2007). Diese werden entsprechend gelöscht. Jedoch soll genau das nicht passieren, da ja die Datei gerade erst kopiert wurde. Mit -atime kann ich leider nicht suchen, da der Fullscan eines Virenscanners jede nacht über die Platte rauscht, und somit die atime immer aktualisiert wird, und somit Dateien nie gelöscht würden. -- Regards, Jens Strohschnitter ------------------------------------- *!!!LINUX LINUX LINUX LINUX LINUX!!!* * http://www.jens-strohschnitter.de * ------------------------------------- Set the controls for the heart of the sun ------------------------------------- __________________________________________________________ Raiffeisen Waren-Zentrale Rhein-Main eG 50668 Koeln, Altenberger Str. 1a Tel: 0221/1638-0 Fax: 0221/1638-254 Sitz: Koeln Amtsgericht Koeln, GnR 728 Vorstand: Hans-Josef Hilgers (Sprecher) Markus Stuettgen Dr. Karl-Heinrich Suemmermann Friedhelm Decker (Vorsitzender) Ingo Steitz Vorsitzender des Aufsichtsrates: Peter Bleser (MdB) St.Nr.: 215/5938/0152 Bankverbindung: WGZ Bank AG, Duesseldorf (BLZ 300 600 10) Konto-Nr.: 300 011 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Fre, 30 Mär 2007, Jens Strohschnitter schrieb: [..]
Die Daten werden von Windows auf ein Sambashare kopiert, haben nach dem Kopievorgang das Datum der letzten Änderung (z.B. 01.02.2007). Diese werden entsprechend gelöscht. Jedoch soll genau das nicht passieren, da ja die Datei gerade erst kopiert wurde.
Dann mußt du für's ändern selber sorgen (touch). Wie werden die Dateien denn kopiert? -dnh -- "Wenn du so weitermachst lernst du das "Wokeln" auch noch. Was du weist nicht was Wokeln ist. das ist der Stil in dem Ich Poste." [Woko° in dag°] -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
* Jens Strohschnitter wrote on Fri, Mar 30, 2007 at 09:30 +0200:
Was möchtest Du denn? Älter als 30 Tage, aber nicht auf einem anderen Filesystem? Dann find -xdev.
also mit -xdev werden die Daten ebenfalls gelöscht. Das Skript läuft nativ auf dem Linux-Server auf einem ReiserFS-System.
ja prima, aber wo liegen die Daten?
Die Daten werden von Windows auf ein Sambashare kopiert, haben nach dem Kopievorgang das Datum der letzten Änderung (z.B. 01.02.2007).
Hat das einen festen Namen, dass du mit find .... -not -path '*/mysharename/*' oder sowas ausschliessen kannst?
Diese werden entsprechend gelöscht. Jedoch soll genau das nicht passieren, da ja die Datei gerade erst kopiert wurde.
(Versteh die Logik nicht. Ob nu kopiert oder nicht, die Datei ist älter als 30 Tage. Versteh nicht, welche alten Daten nu gelöscht werden sollen und welche nicht. Ist ja klar, dass find nicht weiss, wann wer kopiert, umbenannt und das dritte mal nach Weihnachten ausgedruckt hat)
Mit -atime kann ich leider nicht suchen, da der Fullscan eines Virenscanners jede nacht über die Platte rauscht, und somit die atime immer aktualisiert wird, und somit Dateien nie gelöscht würden.
Wann sollen die denn gelöscht werden? 30 Tage nach dem kopieren? lol Nee, ist ja Quatsch, Du kopierst ja jede Nacht, also würden die ja wieder nie gelöscht. Wenn DU nicht sagen kannst, wann sie nun genau gelöscht werden sollen, kann man Dir auch kein passenden find Befehl basteln :) oki, Steffen -- Dieses Schreiben wurde maschinell erstellt, es trägt daher weder Unterschrift noch Siegel. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Steffen Dettmer wrote:
* Jens Strohschnitter wrote on Fri, Mar 30, 2007 at 09:30 +0200:
Was möchtest Du denn? Älter als 30 Tage, aber nicht auf einem anderen Filesystem? Dann find -xdev.
also mit -xdev werden die Daten ebenfalls gelöscht. Das Skript läuft nativ auf dem Linux-Server auf einem ReiserFS-System.
ja prima, aber wo liegen die Daten?
Die Daten werden von Windows auf ein Sambashare kopiert, haben nach dem Kopievorgang das Datum der letzten Änderung (z.B. 01.02.2007).
Hat das einen festen Namen, dass du mit
find .... -not -path '*/mysharename/*'
oder sowas ausschliessen kannst?
Diese werden entsprechend gelöscht. Jedoch soll genau das nicht passieren, da ja die Datei gerade erst kopiert wurde.
(Versteh die Logik nicht. Ob nu kopiert oder nicht, die Datei ist älter als 30 Tage. Versteh nicht, welche alten Daten nu gelöscht werden sollen und welche nicht. Ist ja klar, dass find nicht weiss, wann wer kopiert, umbenannt und das dritte mal nach Weihnachten ausgedruckt hat)
Mit -atime kann ich leider nicht suchen, da der Fullscan eines Virenscanners jede nacht über die Platte rauscht, und somit die atime immer aktualisiert wird, und somit Dateien nie gelöscht würden.
Wann sollen die denn gelöscht werden? 30 Tage nach dem kopieren? lol Nee, ist ja Quatsch, Du kopierst ja jede Nacht, also würden die ja wieder nie gelöscht.
Wenn DU nicht sagen kannst, wann sie nun genau gelöscht werden sollen, kann man Dir auch kein passenden find Befehl basteln :)
oki,
Steffen
Hir, irgendwie ist meine Antwort beim ersten Versuch im Datennirwana verschwunden: die Suche nach "ctime" sollte den gewünschten Effekt bringen. Ctime wird auch dann gesetzt, wenn Dateien unverändert kopiert werden... Jörg -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
On Mon, 02 Apr 2007 10:57:40 +0200 Joerg Thuemmler <listen@vordruckleitverlag.de> wrote:
Steffen Dettmer wrote:
* Jens Strohschnitter wrote on Fri, Mar 30, 2007 at 09:30 +0200:
Was möchtest Du denn? Älter als 30 Tage, aber nicht auf einem anderen Filesystem? Dann find -xdev.
also mit -xdev werden die Daten ebenfalls gelöscht. Das Skript läuft nativ auf dem Linux-Server auf einem ReiserFS-System.
ja prima, aber wo liegen die Daten?
Die Daten werden von Windows auf ein Sambashare kopiert, haben nach dem Kopievorgang das Datum der letzten Änderung (z.B. 01.02.2007).
Hat das einen festen Namen, dass du mit
find .... -not -path '*/mysharename/*'
oder sowas ausschliessen kannst?
Diese werden entsprechend gelöscht. Jedoch soll genau das nicht passieren, da ja die Datei gerade erst kopiert wurde.
(Versteh die Logik nicht. Ob nu kopiert oder nicht, die Datei ist älter als 30 Tage. Versteh nicht, welche alten Daten nu gelöscht werden sollen und welche nicht. Ist ja klar, dass find nicht weiss, wann wer kopiert, umbenannt und das dritte mal nach Weihnachten ausgedruckt hat)
Mit -atime kann ich leider nicht suchen, da der Fullscan eines Virenscanners jede nacht über die Platte rauscht, und somit die atime immer aktualisiert wird, und somit Dateien nie gelöscht würden.
Wann sollen die denn gelöscht werden? 30 Tage nach dem kopieren? lol Nee, ist ja Quatsch, Du kopierst ja jede Nacht, also würden die ja wieder nie gelöscht.
Wenn DU nicht sagen kannst, wann sie nun genau gelöscht werden sollen, kann man Dir auch kein passenden find Befehl basteln :)
oki,
Steffen
Hir,
irgendwie ist meine Antwort beim ersten Versuch im Datennirwana verschwunden: die Suche nach "ctime" sollte den gewünschten Effekt bringen. Ctime wird auch dann gesetzt, wenn Dateien unverändert kopiert werden...
Hi mit ctime siehts gut aus. Jedenfalls werden jetzt nicht mehr die Dateien mit Datum 01.02.2007 gelöscht, jedoch anders als bei atime Dateien die wirklich seit 30 Tagen nicht mehr geändert wurden. Danke! -- Regards, Jens Strohschnitter ------------------------------------- *!!!LINUX LINUX LINUX LINUX LINUX!!!* * http://www.jens-strohschnitter.de * ------------------------------------- Set the controls for the heart of the sun ------------------------------------- __________________________________________________________ Raiffeisen Waren-Zentrale Rhein-Main eG 50668 Koeln, Altenberger Str. 1a Tel: 0221/1638-0 Fax: 0221/1638-254 Sitz: Koeln Amtsgericht Koeln, GnR 728 Vorstand: Hans-Josef Hilgers (Sprecher) Markus Stuettgen Dr. Karl-Heinrich Suemmermann Friedhelm Decker (Vorsitzender) Ingo Steitz Vorsitzender des Aufsichtsrates: Peter Bleser (MdB) St.Nr.: 215/5938/0152 Bankverbindung: WGZ Bank AG, Duesseldorf (BLZ 300 600 10) Konto-Nr.: 300 011 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (4)
-
David Haller
-
Jens Strohschnitter
-
Joerg Thuemmler
-
Steffen Dettmer