* Hans Vedder, Oberbergischer Kreis, Amt 10/3 wrote on Thu, Mar 16, 2000 at 13:19 +0100:
Da wir als Systemverwalter häufiger Mails an alle Benutzer unserer Domäne schicken müssen, wäre mir folgende Lösung viel lieber:
Ich pflege meine Mail-Konten in der /etc/aliases und habe automatisiert(!) die Möglichkeit, eine Mail an alle Benutzer zu verschicken.
Hat jemand gleiche oder ähnliche Lösungen parat?
(Was für mich: riecht nach Perl :) ) Mal schauen.... Also alle Benutzer, daß heißt, die sind in Grupper "user"? Oder haben UID >= 100? Nehmen wir das mal... Dann also mal Perl zur Hand... Wir haben ein Commandlinescript (erstmal) (man perlrun), also "e", dann noch implizieter loop über STDIN/$ARGV (spart ja drei Zeilen), also "n", und dann noch awk-Style Spliting, "a". Macht "-ane". Nu sind die aber mit Doppelpunkt getrennt "-F:". Dem hängen wir ein Script an, welches einfach das nullte (menschlich 1.) Feld "$F[0]" (und einen Zeilenvorschub) ausgibt, wenn das zweite (menschlich 3.) "$F[2]" größer gleich 100 ist (Feld heißt jetzt "F"). In Perlsyntax also: print $F[0], "\n" if ($F[2] >= 100); Das ist also das Programm, daß in die Kommandozeile muß. Dahinter schreiben wir dann noch den Namen der Eingabedatei (spart ein "cat ... |"). Das pipen wir dann z.B. durch xargs. Das sieht dann so aus: perl -F: -ane 'print $F[0], "\n" if ($F[2] >= 100);' /etc/passwd | xargs -r -P10 -n1 echo (eine Zeile). xargs soll also jeweils einen Parameter anhängen aber ruhig 10 parralele Processze erzeugen. Statt echo kann dann ein Script kommen. Natürlich läßt man die ganze xargs Minik am besten ganz weg, baut das lieber ins Perlscript ein, dieses darf dann auch einen Dateinamen bekommen, z.B. "all_users". Dann schaut man noch, das UID kleiner als z.B. 60000 bleibt. Macht sich dann auch gut, wenn jeder User einen Symlink bekommen soll oder sowas... oki, Steffen -- Dieses Schreiben wurde maschinell erstellt, es trägt daher weder Unterschrift noch Siegel. --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com