
Am Dienstag, 29. März 2011, 10:37:47 schrieb Lentes, Bernd:
Hallo ML,
Problem: homedirectoris von ca. 330 Usern, Platz wird eng. Idee: alle homedirectories, die seit längerem nicht geändert wurden (da z.B. Mitarbeiter gegangen), komprimieren und dann den Ordner löschen. Wie finde ich diese homedirectories ? Es wird ja bei einer Änderung nur die mtime des betr. Ordners geändert. Folglich muss ich den ganzen Verzeichnisbaum durchsuchen. Nun werde ich wohl bei jedem Mitarbeiter, egal ob er noch da ist oder nicht, einen oder mehrere Ordner finden, deren mtime älter ist als mein gewünschter Zeitraum (habe mal 9 Monate angenommen). Also dachte ich mir, ich suche nach mtime jünger als 9 Monate, und die die dann *nicht* gefunden werden, das sind dann meine Kanidaten. Hab ich gemacht. Wie kann ich jetzt aber mittels shell aus denen, die nicht komprimiert werden sollen (die ich mit meinem find gefunden haben), auf die schließen, die komprimiert werden sollen ? Hätte das natürlich gerne automatisiert.
Falls das für dich brauchbar ist, würde mir ein ganz anderer Ansatz einfallen: lastlog | grep -iv "never" Damit bekommst du eine Liste aller User, die sich eingeloggt haben; evtl. gibt es auc noch gepackte/rotierte ältere Logs, die du berücksichtigen musst. Dann könntest du mit grenzdatum=`date --date="270 days ago"` oder wie auch immer dein gewünschtes Datum fixieren und die Ausgabe der zuletzt eingeloggten User mit sort, awk, cut usw. aufbereiten, um die herauszufiltern, die nach deinem Grenzdatum nicht mehr eingeloggt waren. lastlog schreibt den Usernamen in das erste Feld, das kannst du mit awk oder so extrahieren, und mit einer if-Abfrage (wenn Datum älter als Grenzwert) klären, ob das Home-Verzeichnis behandelt werden muss. Ich hoffe, das hilft dir etwas und ist für dich übertragbar. Jürgen -- 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