
On Tue, March 29, 2011 10:37 am, Lentes, Bernd wrote:
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.
Any ideas ?
Interessante Aufgabe. Nur mal so schnell hingehackt, ohne Fehlerprüfungen und mit ein paar fehlenden Quotes (die aber ok sein sollten) und eventuell ein paar Sekunden Abweichung bzw. falsche Zeitzone (da bin ich mir nicht ganz sicher). Das Script ist sicher ausbaufähig, ab so ungefähr geht es. Prüfe bitte selber nach, ob die Ergebnisse stimmen. #v+ chrisbra@R500 ~% for i in /home/*; do a=$(find "$i" -type f -exec sh -c 'stat -c "%Y %n" "$@"' sh {} + | sort -rn | head -1) time="${a%% *}" file="${a#* }" #if [ "$time" -lt "$(date -d '9 months ago 00:00:00' +%s)"]; then printf "User %s last modification of file %s at %s\n", "${i##*/}", "$file", "$(date -d "Jan 01, 1970 00:00:00 +0000 + $time seconds")" #elif done User chrisbra, last modification of file /home/chrisbra/.zsh_history at Di 29. Mär 17:45:26 CEST 2011 chrisbra@R500 ~% #v- Entferne das Kommentarzeichen vor der if-Bedingung, um nur noch User, File und last mtime zu sehen für alle Zugriffe von Usern, die länger als 9 Monate her sind. Grüße, Christian -- 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