Forums Neueste Beiträge
 

Verzeichnisse und Dateien automatisiert nach n Tagen l

08/11/2012 - 13:51 von Thomas Wildgruber | Report spam
Hi Group,

eine politische Regelung um unseren FTP Server zu keiner Müllhalde
verkommen zu lassen scheint nicht praktikabel zu sein, deshalb suche ich
jetzt eine technsiche Lösung. gegeben ist zB folgende Verzeichnisstruktur:

# tree -D
.
├── [Sep 10 13:05] kunde1
│   ├── [Nov 6 9:34] datei1
│   ├── [Nov 6 9:34] datei2
│   ├── [Aug 1 14:05] file1
│   └── [Aug 1 15:05] file2
├── [Oct 1 13:05] kunde2
│   ├── [Nov 6 9:34] datei3
│   ├── [Nov 6 9:34] datei4
│   ├── [Jul 1 15:05] file3
│   ├── [Jun 1 15:05] file4
│   ├── [Jun 5 15:05] file5
│   └── [Jun 9 15:05] file6
├── [Aug 1 13:05] kunde3
│   ├── [Jun 9 15:05] file7
│   └── [Jun 9 15:10] file8
├── [May 11 13:05] kunde4
│   ├── [May 9 15:10] file9
│   └── [Jun 9 15:10] folder1
│   ├── [Nov 6 9:36] datei1
│   ├── [Nov 6 9:36] datei2
│   └── [Nov 6 9:36] datei3
├── [May 13 13:05] kunde5
│   ├── [May 9 15:10] file1
│   ├── [May 9 18:10] file2
│   ├── [Apr 9 2012] file3
│   └── [Apr 9 2012] folder1
│   ├── [Aug 9 20:10] file4
│   └── [Aug 10 20:10] file5
└── [Jun 23 13:05] kunde6
├── [Nov 6 9:37] datei1
└── [Nov 6 9:37] datei2

Das Verzeichnis 'master' entspricht dem lokalen Benutzer, welcher in seinem
Homedirectory die Homedirectories der einzelnen Kunden (ebenfalls Benutzer
auf dem Server) hat. Jetzt habe ich das Problem, dass bei einem Suchlauf
mit find im Verzeichnis 'master' die einzelnen Homedirectories der Kunden
ebenfalls mit dem Datum (+mtime 10 -> àlter als 10 Tage) erfasst werden:

# find . -mtime +10
./kunde6
./kunde3
./kunde3/file7
./kunde3/file8
./kunde5
./kunde5/file2
./kunde5/file1
./kunde5/file3
./kunde5/folder1
./kunde5/folder1/file4
./kunde5/folder1/file5
./kunde1
./kunde1/file2
./kunde1/file1
./kunde4
./kunde4/folder1
./kunde4/file9
./kunde2
./kunde2/file3
./kunde2/file4
./kunde2/file6
./kunde2/file5

Des Weiteren wird auch ein àlterer Ordner in einem Kundenordner erfasst,
obwohl in dem Ordner Dateien sind, welche noch nicht von der
automatisierten Löschung betroffen sein dürfen (zB ./kunde4/folder1/)

Ich könnte jetzt zwar hergehen und die Suche auf Dateien beschrànken, um zu
vermeiden die Kunden Ordner (kunde1, kunde2 usw) von der Suche
auszuschliessen:

# find . -type f -mtime +10
./kunde3/file7
./kunde3/file8
./kunde5/file2
./kunde5/file1
./kunde5/file3
./kunde5/folder1/file4
./kunde5/folder1/file5
./kunde1/file2
./kunde1/file1
./kunde4/file9
./kunde2/file3
./kunde2/file4
./kunde2/file6
./kunde2/file5

Dann blieben andereseits aber ein paar leere Ordner stehen wie zB
./kunde5/folder1 was aber noch zu verschmerzen wàre, weil nicht allzuviele
Ordner auf dem FTP-Server landen, die meisten verzippen doch ihre Daten.

Abschließend kam dann aber doch noch ein Kunde daher, der seinen Ordner
selber pflegen möchte und das auch tut, nur kann man das nicht in einer
Zeit erfassen, die Löschen die Daten wenn das Projekt abgeschlossen ist.
Deshalb müsste ein kunde (zB kunde3) von der Suche ausgeschlossen werden.
Einen exclude Filter habe ich für find jetzt so nicht gefunden, welche
Lösung hààte ich?

BTW: Die Namen der Kunden, der Verzeichnisse und der Dateien sind hier
exemplarisch, es kann im realen Umfeld keine solche Zuordnung gemacht
werden. Die Dateien sind alles mögliche, mit allen möglichen Namen,
ebenfalls die Verzeichnisse innerhalb der Kunden-Ordner. Die Kunden-Ordner
heissen so, wie der Kunde heisst (zB. nestle, aeg, 123fritz etc).

Welchen Ansatz hàtte ich um das so elegant wie möglich zu realisieren?

Thx & Bye Tom
"Der Retter der Welt ist ein Pinguin und Linus Torvalds ist sein Prophet "
 

Lesen sie die antworten

#1 Marcel Müller
08/11/2012 - 14:12 | Warnen spam
Hallo,

On 08.11.2012 13:51, Thomas Wildgruber wrote:
Des Weiteren wird auch ein àlterer Ordner in einem Kundenordner erfasst,
obwohl in dem Ordner Dateien sind, welche noch nicht von der
automatisierten Löschung betroffen sein dürfen (zB ./kunde4/folder1/)

Ich könnte jetzt zwar hergehen und die Suche auf Dateien beschrànken, um zu
vermeiden die Kunden Ordner (kunde1, kunde2 usw) von der Suche
auszuschliessen:



korrekte Vorgehensweise.

Dann blieben andereseits aber ein paar leere Ordner stehen wie zB
./kunde5/folder1 was aber noch zu verschmerzen wàre, weil nicht allzuviele
Ordner auf dem FTP-Server landen, die meisten verzippen doch ihre Daten.



Und jetzt kommt Phase 2. Alle Ordner mit Datum àlter als X per rmdir
weghauen und Fehler ignorieren. Ohne weitere Optionen ràumt rmdir
sowieso nur leere Ordner weg. Alternativ kann man es natürlich auch
vorher checken, aber etwas anderes macht rmdir auch nicht.


Abschließend kam dann aber doch noch ein Kunde daher, der seinen Ordner
selber pflegen möchte und das auch tut, nur kann man das nicht in einer
Zeit erfassen, die Löschen die Daten wenn das Projekt abgeschlossen ist.
Deshalb müsste ein kunde (zB kunde3) von der Suche ausgeschlossen werden.
Einen exclude Filter habe ich für find jetzt so nicht gefunden, welche
Lösung hààte ich?



grep -v auf das Ergebnis von find.


Marcel

Ähnliche fragen