Verzeichnisse finden, die länger nicht geändert worden

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. Any ideas ? Bernd -- Bernd Lentes Systemadministration Institut für Entwicklungsgenetik HelmholtzZentrum münchen bernd.lentes@helmholtz-muenchen.de phone: +49 89 3187 1241 fax: +49 89 3187 3826 http://www.helmholtz-muenchen.de/idg Der Kopf ist rund, damit die Gedanken die Richtung ändern können Helmholtz Zentrum München Deutsches Forschungszentrum für Gesundheit und Umwelt (GmbH) Ingolstädter Landstr. 1 85764 Neuherberg www.helmholtz-muenchen.de Aufsichtsratsvorsitzende: MinDir´in Bärbel Brumme-Bothe Geschäftsführer: Prof. Dr. Günther Wess und Dr. Nikolaus Blum Registergericht: Amtsgericht München HRB 6466 USt-IdNr: DE 129521671 -- 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

Am Dienstag, 29. März 2011, 10:37:47 schrieb Lentes, Bernd:
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

Jürgen Langowski schrieb:
Danke, hilft mir aber leider nicht. Die Verzeichnisse liegen auf einem NAS, der mittels CIFS gemountet wird. Die User melden sich an einem Windows ADS an, mit dem ich nichts zu tun habe. Bernd Helmholtz Zentrum München Deutsches Forschungszentrum für Gesundheit und Umwelt (GmbH) Ingolstädter Landstr. 1 85764 Neuherberg www.helmholtz-muenchen.de Aufsichtsratsvorsitzende: MinDir´in Bärbel Brumme-Bothe Geschäftsführer: Prof. Dr. Günther Wess und Dr. Nikolaus Blum Registergericht: Amtsgericht München HRB 6466 USt-IdNr: DE 129521671 -- 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

Am 29.03.2011 10:37, schrieb Lentes, Bernd:
Technisch kommt ja schon einiges aber ihr habt offenbar auch ein oraginsatorisches Propblem. Ganz brutal: Setze die Rechte auf Verzeichnisse die ggf über sind auf read-only oder auf einen anderen User. Wenn die Ordner noch gebraucht werden wird schon jemand schreien. Gruß Ralf Prengel Manager Customer Care Comline AG Hauert 8 D-44227 Dortmund/Germany Fon +49 231 97575 904 Fax +49 231 97575 257 Mobil +49 151 10831 157 EMail Ralf.Prengel@comline.de www.comline.de Vorstand Stephan Schilling, Erwin Leonhardi Aufsichtsrat Dr. Franz Schoser (Vorsitzender) HR Dortmund B 14570 USt.-ID-Nr. DE 124727422 Für die Erstellung unserer Dokumente benutzen wir die Produkte aus dem Microsoft Office 2007 Paket. Sollte sich ein Anhang in der Mail befinden, der mit einer älteren Office Version nicht geöffnet werden kann, installieren Sie bitte das Compatibility Pack für Office 2007. http://www.microsoft.com/downloads/details.aspx?FamilyID=941b3470-3ae9-4aee-... -- 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

Ralf Prengel schrieb:
Wir haben kein organisatorisches Problem, sondern ein Platzproblem. Ich will die nicht gebrauchten homedirectroies tarren und gzippen, um Platz zu schaffen. Wenn ich nur die Berechtigungen ändere, schaffe ich keinen Platz. Ich habe bereits eine Liste der User, deren home *nicht* komprimiert werden muss. Kann ich daraus ("alle User - User die nicht komprimiert werden = User die komprimiert werden) alle ableiten, die komprimiert werden müssen ? Bernd Helmholtz Zentrum München Deutsches Forschungszentrum für Gesundheit und Umwelt (GmbH) Ingolstädter Landstr. 1 85764 Neuherberg www.helmholtz-muenchen.de Aufsichtsratsvorsitzende: MinDir´in Bärbel Brumme-Bothe Geschäftsführer: Prof. Dr. Günther Wess und Dr. Nikolaus Blum Registergericht: Amtsgericht München HRB 6466 USt-IdNr: DE 129521671 -- 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

Lentes, Bernd wrote:
Dann hast du doch alles. Du könntest z.B. ganz "straight forward" so vorgehen: datei mit aktiven users = USERS loop ueber alle home dirs next wenn home dir in USERS sonst packe und lösche home dir end loop Kodieren musst Du das schon selber Andreas -- 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

Am 29.03.2011 12:47, schrieb Lentes, Bernd:
Daten die Usern gehören die es ggf. nicht mehr im Unternehmen gibt sind immer ein Zeichen von Organisationsproblemen. Aber sei es drum: Lohnt sich der Aufwand mit der Packerei? Will fragen sind die Daten gut komprimierbar? Je nach Datentyp kann die Rate zwischen 0 und 90 % liegen. Gruß Ralf Prengel Manager Customer Care Comline AG Hauert 8 D-44227 Dortmund/Germany Fon +49 231 97575 904 Fax +49 231 97575 257 Mobil +49 151 10831 157 EMail Ralf.Prengel@comline.de www.comline.de Vorstand Stephan Schilling, Erwin Leonhardi Aufsichtsrat Dr. Franz Schoser (Vorsitzender) HR Dortmund B 14570 USt.-ID-Nr. DE 124727422 Für die Erstellung unserer Dokumente benutzen wir die Produkte aus dem Microsoft Office 2007 Paket. Sollte sich ein Anhang in der Mail befinden, der mit einer älteren Office Version nicht geöffnet werden kann, installieren Sie bitte das Compatibility Pack für Office 2007. http://www.microsoft.com/downloads/details.aspx?FamilyID=941b3470-3ae9-4aee-... -- 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

Ralf Prengel schrieb:
Ich glaube schon. Sind viele unkomprimierte Bilder (Mikroskopaufnahmen) dabei. Bernd Helmholtz Zentrum München Deutsches Forschungszentrum für Gesundheit und Umwelt (GmbH) Ingolstädter Landstr. 1 85764 Neuherberg www.helmholtz-muenchen.de Aufsichtsratsvorsitzende: MinDir´in Bärbel Brumme-Bothe Geschäftsführer: Prof. Dr. Günther Wess und Dr. Nikolaus Blum Registergericht: Amtsgericht München HRB 6466 USt-IdNr: DE 129521671 -- 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

Am Tuesday 29 March 2011 13:55:28 schrieb Lentes, Bernd:
Hallo Bernd, bei solchen Daten (die ja wissentschaftlich interessant sein können) könnte man sich ja auch vorstellen, Leute daran zu setzen, diese zu sichten. Vorrausssetzung freilich ist, dass man den Kontext der Erstellung noch kennt. Also viele Fragen: Wer hat die Bilder erstellt? Wie stand er zu seinen Kollegen und zu seinem Chef? Hat er eventuell Informationen nicht weitergegeben? Zu welchem Projekt gehören die Bilder? Was sollen die Bilder darstellen? (im Aufgabenbereich Eures Instituts vielleicht Leber, Milz oder Lunge, etc) Und bestimmt noch mehr Fragen, die ich mir jetzt nicht vorstellen kann. Tschö, Emil P.S.: Nein, ich bin nicht der kleine Kriminologe. -- Registered Linux User since 19940320 -------------------------------------------------- Emil Stephan, Marktplatz 39, 53773 Hennef, Germany voice: +49-2242-84438 Accelerate Windows: 9.81 m/sec^2 would be adequate -- 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

Emil Stephan schrieb:
Also, es geht einfach nur darum, länger nicht mehr benutzte Ordner, zwecks Platz sparen, zu komprimieren (.tgz). Es handelt sich dabei um ca. 150 Directories ehemaliger User. Da wir aus diversen Gründen gezwungen sind, diese zu bewahren (rechtliche Vorschriften, Reproduzierbarkeit von Ergebnissen ... ) sind die noch da. Es sind Bilder von Diplomarbeiten, Dissertationen, wissenschaftl. Publikationen. Noch mal: das ist kein organisatorisches Problem. Aber o.k. Sichten wir mal die Bilder: Wir gehen mal davon aus, daß es viell. 25.000 Bilder sind (sind sicher mehr). Wir suchen einen Mitarbeiter, der sich in allen Projekten, die Bilder beinhalten, auskennt (den gibt's zwar nicht, aber trotzdem). Ausserdem liegen einige der Projekte schon Jahre zurück. Aber sei's drum. Um alle o.g. Fragen die Bilder betreffend *sinnvoll* (sonst bringt's ja nix) zu beantworten, braucht jemand pro Bild 1 Min. (Er muss es ja irgendwo eintippen, ausserdem könnten uns ja noch weitere Fragen einfallen, ist also sehr kurz geschätzt). 25.000min = 416,67h = 10,4 Arbeitswochen. DAS ist ein organisatorisches Problem. Vielleicht hat jemand einen Tipp für mein Problem: ich habe ein Directory mit ca. 330 Ordnern. Ca. 180 davon müssen möglichst platzsparend aufbewahrt werden, ein schneller und permanenter Zugriff ist nicht notwendig. Ich habe die 150 Ordner, die *nicht* komprimiert werden sollen, in einer Liste. Wie kann ich daraus die 180, die komprimiert werden sollen, ableiten ? Danke. Bernd Helmholtz Zentrum München Deutsches Forschungszentrum für Gesundheit und Umwelt (GmbH) Ingolstädter Landstr. 1 85764 Neuherberg www.helmholtz-muenchen.de Aufsichtsratsvorsitzende: MinDir´in Bärbel Brumme-Bothe Geschäftsführer: Prof. Dr. Günther Wess und Dr. Nikolaus Blum Registergericht: Amtsgericht München HRB 6466 USt-IdNr: DE 129521671 -- 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

Am Dienstag, 29. März 2011, 16:47:53 schrieb Lentes, Bernd: (...)
Vielleicht ginge das so: find /home -maxdepth 1 -mindepth 1 -type d | while read found do echo "$found" # hier mit grep prüfen, ob "$found" in der Liste der # zu behaltenden Ordner enthalten ist result=`grep "$found" liste_der_150_zu_behaltenden.txt | wc -l` if [ "$result" = "0" ] then #nicht gefunden echo "Lösche: $found" else #gefunden echo "Lösche NICHT: $found" fi done Vorsicht, ungeprüft! 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

Am Tuesday 29 March 2011 16:47:53 schrieb Lentes, Bernd:
Hallo Bernd, Das das Sichten der Bilder nicht machbar ist, ist mir jetzt klar. Hast Du eine Liste aller 330 Ordner? Wenn ja , dann mit einem Skript alle 330 durchnudeln und schauen, welcher Ordner nicht in der Liste der Ordner ist, die nicht komprimiert werden sollen. Wenn nein, dann in eine Liste schreiben, die komprimiert werden sollen. So ungefähr:
Ich habe das jetzt mal ohne Kontrolle der Manualseiten heruntergeschrieben. Also bitte noch mal prüfen. Andere mögliche Fallen vorbehalten, insbesondere, ob in den Ausgangslisten die Pfadnamen absolut, relativ oder nur so ungefähr sind. Die Dateinamen für $gesliste, $noncompr und $compr musst Du natürlich selber festlegen, da kann ich Dir nicht rein schwätzen. Tschö, Emil -- Registered Linux User since 19940320 -------------------------------------------------- Emil Stephan, Marktplatz 39, 53773 Hennef, Germany voice: +49-2242-84438 Accelerate Windows: 9.81 m/sec^2 would be adequate -- 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

Am 29.03.2011 13:55, schrieb Lentes, Bernd:
Gehen da ggf. Informationen verloren wenn komprimiert wird? Sollte eigentlich nicht der Fall sein wenn die Datei und nicht der Inhalt komprimieret wird aber das sollte geprüft werden. Im medizinischen Bereich kann das ziemlich fatal sein wenn dann nicht mehr alle Details erkennbar sind. Gruß Ralf Prengel Manager Customer Care Comline AG Hauert 8 D-44227 Dortmund/Germany Fon +49 231 97575 904 Fax +49 231 97575 257 Mobil +49 151 10831 157 EMail Ralf.Prengel@comline.de www.comline.de Vorstand Stephan Schilling, Erwin Leonhardi Aufsichtsrat Dr. Franz Schoser (Vorsitzender) HR Dortmund B 14570 USt.-ID-Nr. DE 124727422 Für die Erstellung unserer Dokumente benutzen wir die Produkte aus dem Microsoft Office 2007 Paket. Sollte sich ein Anhang in der Mail befinden, der mit einer älteren Office Version nicht geöffnet werden kann, installieren Sie bitte das Compatibility Pack für Office 2007. http://www.microsoft.com/downloads/details.aspx?FamilyID=941b3470-3ae9-4aee-... -- 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

Ralf prengel schrieb:
Hallo Ralf, ich denke und hoffe mal nicht :-). Danke für alle Tipps und Antworten, ich glaube da werde ich was passendes finden. Bernd Helmholtz Zentrum München Deutsches Forschungszentrum für Gesundheit und Umwelt (GmbH) Ingolstädter Landstr. 1 85764 Neuherberg www.helmholtz-muenchen.de Aufsichtsratsvorsitzende: MinDir´in Bärbel Brumme-Bothe Geschäftsführer: Prof. Dr. Günther Wess und Dr. Nikolaus Blum Registergericht: Amtsgericht München HRB 6466 USt-IdNr: DE 129521671 -- 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, der Vollständigkeit halber hier mein Skript: ======================================================= #!/bin/bash # # skript zum Zippen älterer, länger nicht benutzter Homedirectories # die homedirectories, die *nicht* komprimiert werden sollen, stehen in aktuelle_mitarbeiter_idg_2.txt # eine Liste aller homedirectories ist in all_homedirs_2.txt zu finden # # Dateien in arrays laden: cd /mnt/nas/home not_compress=(`cat aktuelle_mitarbeiter_idg_2.txt`) # geht auch ohne Leerzeichen in der Datei, funktioniert auch mit \n # echo ${not_compress[*]} # echo "Anzahl der Elemente in array not_compress: ${#not_compress[*]}" count_not_compress=${#not_compress[*]} all=(`cat all_homedirs_2.txt`) # echo ${all[*]} # echo "Anzahl der Elemente in array all: ${#all[*]}" count_all=${#all[*]} # for ((i=0;i<count_not_compress;i++)) # do # echo ${not_compress[i]} # done # for ((i=0;i<count_all;i++)) # do # echo ${all[i]} # done for ((a=0;a<count_all;a++)) do # echo ${all[a]} for ((n=0;n<count_not_compress;n++)) do if [ "${not_compress[n]}" = "${all[a]}" ] then # echo "Päärchen gefunden: ${not_compress[n]} = ${all[a]}, muss *nicht* komprimiert werden" break fi if [ $n -eq $[$count_not_compress-1] ] then : echo "${all[a]} muss verschoben werden !" mv -v ${all[a]} ehemalige fi done done ===================================================== Die vielen, jetzt kommentierten echos dienten mir dazu, mich schrittweise an meine Lösung anzunähern. Jetzt grübele ich über der Komprimierung. Bernd Helmholtz Zentrum München Deutsches Forschungszentrum für Gesundheit und Umwelt (GmbH) Ingolstädter Landstr. 1 85764 Neuherberg www.helmholtz-muenchen.de Aufsichtsratsvorsitzende: MinDir´in Bärbel Brumme-Bothe Geschäftsführer: Prof. Dr. Günther Wess und Dr. Nikolaus Blum Registergericht: Amtsgericht München HRB 6466 USt-IdNr: DE 129521671 -- 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

Hi Lentes,! On Do, 31 Mär 2011, Lentes, Bernd wrote:
Ich frag mich ja, wieso ich den Verweis auf comm(1) gebracht habe, wenn Du es doch per Hand machen willst. Sag halt, wenn Du keine Hilfe willst.
Tja. Mit freundlichen Grüßen 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

Hi Brabandt,
Ich frag mich ja, wieso ich den Verweis auf comm(1) gebracht habe, wenn Du es doch per Hand machen willst. Sag halt, wenn Du keine Hilfe willst.
Ich wüßte nicht, daß ich verpflichtet bin, *jeden* Vorschlag umzusetzen. Bernd Helmholtz Zentrum München Deutsches Forschungszentrum für Gesundheit und Umwelt (GmbH) Ingolstädter Landstr. 1 85764 Neuherberg www.helmholtz-muenchen.de Aufsichtsratsvorsitzende: MinDir´in Bärbel Brumme-Bothe Geschäftsführer: Prof. Dr. Günther Wess und Dr. Nikolaus Blum Registergericht: Amtsgericht München HRB 6466 USt-IdNr: DE 129521671 -- 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 Thu, March 31, 2011 11:50 pm, Lentes, Bernd wrote:
Mußt Du nicht. Aber wenn man sich schonmal die Mühe macht dir zu helfen, wäre es nett wenn Du wenigsten sagen würdest, warum Du ihn nicht verwendest. 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

Hallo, Am Thu, 31 Mar 2011, Lentes, Bernd schrieb: [..]
Da du bash verwendest, nimm lieber IFS=$'\n' not_compress=( $(< aktuelle_mitarbeiter_idg_2.txt) )
[*] solltest du meiden. count_not_compress=${#not_compress[@]}
Dito. all=( $(< all_homedirs_2.txt) ) count_all=${#all[@]}
Und der Rest schreit nach ner Programmiersprache, die Hashes kann. ==== #!/usr/bin/perl -ws use strict; my $homedir = "/mnt/nas/home"; my $aktuelle_datei = "aktuelle_mitarbeiter_idg_2.txt"; my $all_homes_datei = "all_homedirs_2.txt"; no warnings 'once'; my $dry_run = $::n || 0; my $verbose = $::v || 0; use warnings 'once'; ### mein Standard system() wrapper zur ordentlichen Fehlerbehandlung, ### samt moeglichem "dry-run", wenn mit Option '-n' aufgerufen sub runcmd { my $ret = 0; if( ! $dry_run ) { system(@_); $ret = $?; if( $ret == -1 ) { print STDERR "failed to execute: $!\n"; } elsif ($ret & 127) { printf STDERR "\nchild died with signal %d, %s coredump\n", ($ret & 127), ($ret & 128) ? "with coredump" : ""; } } else { print "\nWould run: ", join(" ", @_), "\n"; } return $ret == 0; } sub readfile { my $file = shift; open(F, "<", $file) or die "cannot read $file: $!\n"; my @lines = <F>; chomp(@lines); close(F) or die "$!\n"; return @lines; } chdir($homedir) or die "Cannot change to $homedir!\n"; -d "./ehemalige/" or die "Verzeichnis 'ehemalige' existiert nicht!\n"; my @not_compress = readfile($aktuelle_datei); my @all_homes = readfile($all_homes_datei); my %dont_compress; map { if(m/\S/) { $dont_compress{$_} = 1; } } @not_compress; foreach(@all_homes) { if( defined($dont_compress{$_}) ) { print "$_ kann bleiben\n"; } else { # print "$_ muss verschoben werden\n"; runcmd("mv", "-iv", $_, "./ehemalige/"); } } ==== Wie du siehst, ist die eigentliche Programmlogik (ab der 'map' Zeile) sehr simpel.
Jetzt grübele ich über der Komprimierung.
afio. Komprimiert Dateiweise. cd ./ehemalige/ for dir in *; do find "$dir" -depth -print0 | afio -o -0axZv "${dir}.afio" done Siehe man afio für weitere Optionen (z.B. um schon komprimiertes nicht nochmal zu komprimieren, für verify, '-P bzip2' z.B. um mit bzip statt gzip zu komprimieren. HTH, -dnh -- So Linus, what are we doing tonight? The same thing we do every night Tux. Try to take over the world! -- 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

David Haller schrieb:
Wieso ?
afio kannte ich noch nicht. Scheint lt. manpage robuster als tar zu sein. Das ist nat. in meinem Fall wichtig. Wofür soll ich beim find -print0 und -depth nehmen ? Bernd Helmholtz Zentrum München Deutsches Forschungszentrum für Gesundheit und Umwelt (GmbH) Ingolstädter Landstr. 1 85764 Neuherberg www.helmholtz-muenchen.de Aufsichtsratsvorsitzende: MinDir´in Bärbel Brumme-Bothe Geschäftsführer: Prof. Dr. Günther Wess und Dr. Nikolaus Blum Registergericht: Amtsgericht München HRB 6466 USt-IdNr: DE 129521671 -- 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

P.S. Gibt's eine Möglichkeit, die NTFS-Berechtigung des CIFS-shares, auf dem die homedirectories liegen, linuxseitig mitzunehmen ? Bernd Helmholtz Zentrum München Deutsches Forschungszentrum für Gesundheit und Umwelt (GmbH) Ingolstädter Landstr. 1 85764 Neuherberg www.helmholtz-muenchen.de Aufsichtsratsvorsitzende: MinDir´in Bärbel Brumme-Bothe Geschäftsführer: Prof. Dr. Günther Wess und Dr. Nikolaus Blum Registergericht: Amtsgericht München HRB 6466 USt-IdNr: DE 129521671 -- 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

Am 29. März 2011 18:14 schrieb Lentes, Bernd <bernd.lentes@helmholtz-muenchen.de>:
Danke für alle Tipps und Antworten, ich glaube da werde ich was passendes finden.
Was Du eigentlich suchst, nennt sich http://de.wikipedia.org/wiki/Hierarchisches_Speichermanagement Gruß Martin (der sich immer wieder wundert, warum die Helmholtz Gemeinschaft für ihre Mitglieder anscheinend keine zentralen IT-Services anbietet) -- 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

Martin Schröder schrieb:
Was Du eigentlich suchst, nennt sich http://de.wikipedia.org/wiki/Hierarchisches_Speichermanagement
Nun ja, das geht über meinen Wunsch erheblich hinaus. Dafür muss z.B. neue Hardware gekauft werden.
Die Helmholtz Gemeinschaft ist im Gegensatz zu Fraunhofer und Max-Planck sehr heterogen und auch ein eher loser Zusammenschluss diverser Großforschungseinrichtungen. Bernd Helmholtz Zentrum München Deutsches Forschungszentrum für Gesundheit und Umwelt (GmbH) Ingolstädter Landstr. 1 85764 Neuherberg www.helmholtz-muenchen.de Aufsichtsratsvorsitzende: MinDir´in Bärbel Brumme-Bothe Geschäftsführer: Prof. Dr. Günther Wess und Dr. Nikolaus Blum Registergericht: Amtsgericht München HRB 6466 USt-IdNr: DE 129521671 -- 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 Tue, March 29, 2011 12:47 pm, Lentes, Bernd wrote:
/tmp/user enthält die Lister aller User, deren Home nicht komprimiert werden darf. /tmp/user1 enthält eine Liste aller User. Als Ergebnis erhälst Du alle User, deren Home du komprimieren kannst. 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

On Tue, March 29, 2011 10:37 am, Lentes, Bernd wrote:
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

Am Dienstag, 29. März 2011, 10:37:47 schrieb Lentes, Bernd:
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

Jürgen Langowski schrieb:
Danke, hilft mir aber leider nicht. Die Verzeichnisse liegen auf einem NAS, der mittels CIFS gemountet wird. Die User melden sich an einem Windows ADS an, mit dem ich nichts zu tun habe. Bernd Helmholtz Zentrum München Deutsches Forschungszentrum für Gesundheit und Umwelt (GmbH) Ingolstädter Landstr. 1 85764 Neuherberg www.helmholtz-muenchen.de Aufsichtsratsvorsitzende: MinDir´in Bärbel Brumme-Bothe Geschäftsführer: Prof. Dr. Günther Wess und Dr. Nikolaus Blum Registergericht: Amtsgericht München HRB 6466 USt-IdNr: DE 129521671 -- 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

Am 29.03.2011 10:37, schrieb Lentes, Bernd:
Technisch kommt ja schon einiges aber ihr habt offenbar auch ein oraginsatorisches Propblem. Ganz brutal: Setze die Rechte auf Verzeichnisse die ggf über sind auf read-only oder auf einen anderen User. Wenn die Ordner noch gebraucht werden wird schon jemand schreien. Gruß Ralf Prengel Manager Customer Care Comline AG Hauert 8 D-44227 Dortmund/Germany Fon +49 231 97575 904 Fax +49 231 97575 257 Mobil +49 151 10831 157 EMail Ralf.Prengel@comline.de www.comline.de Vorstand Stephan Schilling, Erwin Leonhardi Aufsichtsrat Dr. Franz Schoser (Vorsitzender) HR Dortmund B 14570 USt.-ID-Nr. DE 124727422 Für die Erstellung unserer Dokumente benutzen wir die Produkte aus dem Microsoft Office 2007 Paket. Sollte sich ein Anhang in der Mail befinden, der mit einer älteren Office Version nicht geöffnet werden kann, installieren Sie bitte das Compatibility Pack für Office 2007. http://www.microsoft.com/downloads/details.aspx?FamilyID=941b3470-3ae9-4aee-... -- 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

Ralf Prengel schrieb:
Wir haben kein organisatorisches Problem, sondern ein Platzproblem. Ich will die nicht gebrauchten homedirectroies tarren und gzippen, um Platz zu schaffen. Wenn ich nur die Berechtigungen ändere, schaffe ich keinen Platz. Ich habe bereits eine Liste der User, deren home *nicht* komprimiert werden muss. Kann ich daraus ("alle User - User die nicht komprimiert werden = User die komprimiert werden) alle ableiten, die komprimiert werden müssen ? Bernd Helmholtz Zentrum München Deutsches Forschungszentrum für Gesundheit und Umwelt (GmbH) Ingolstädter Landstr. 1 85764 Neuherberg www.helmholtz-muenchen.de Aufsichtsratsvorsitzende: MinDir´in Bärbel Brumme-Bothe Geschäftsführer: Prof. Dr. Günther Wess und Dr. Nikolaus Blum Registergericht: Amtsgericht München HRB 6466 USt-IdNr: DE 129521671 -- 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

Lentes, Bernd wrote:
Dann hast du doch alles. Du könntest z.B. ganz "straight forward" so vorgehen: datei mit aktiven users = USERS loop ueber alle home dirs next wenn home dir in USERS sonst packe und lösche home dir end loop Kodieren musst Du das schon selber Andreas -- 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

Am 29.03.2011 12:47, schrieb Lentes, Bernd:
Daten die Usern gehören die es ggf. nicht mehr im Unternehmen gibt sind immer ein Zeichen von Organisationsproblemen. Aber sei es drum: Lohnt sich der Aufwand mit der Packerei? Will fragen sind die Daten gut komprimierbar? Je nach Datentyp kann die Rate zwischen 0 und 90 % liegen. Gruß Ralf Prengel Manager Customer Care Comline AG Hauert 8 D-44227 Dortmund/Germany Fon +49 231 97575 904 Fax +49 231 97575 257 Mobil +49 151 10831 157 EMail Ralf.Prengel@comline.de www.comline.de Vorstand Stephan Schilling, Erwin Leonhardi Aufsichtsrat Dr. Franz Schoser (Vorsitzender) HR Dortmund B 14570 USt.-ID-Nr. DE 124727422 Für die Erstellung unserer Dokumente benutzen wir die Produkte aus dem Microsoft Office 2007 Paket. Sollte sich ein Anhang in der Mail befinden, der mit einer älteren Office Version nicht geöffnet werden kann, installieren Sie bitte das Compatibility Pack für Office 2007. http://www.microsoft.com/downloads/details.aspx?FamilyID=941b3470-3ae9-4aee-... -- 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 (8)
-
Christian Brabandt
-
David Haller
-
Emil Stephan
-
Juergen Langowski
-
Kyek, Andreas, VF-DE
-
Lentes, Bernd
-
Martin Schröder
-
Ralf Prengel