S
seikon
Jungspund
Hallo liebe Unix Gemeinde.
Ich darf mich mal als totaler Unix N00b outen, und hoffe hier wird mir geholfen. Und zwar versuche ich gerade ein kleines Programm zu schreiben mit dem ich einige Vorgänge automatisieren kann, die ich sonst immer mühsam von Hand eintippen muss.
Und zwar geht es hierbei um ein Netzwerk, bestehend aus 9 Clients. Alle Clients haben die selben Rechte. Es gibt also keinen Client mit Administratorrechten.
Bei den Usern die wir verwenden handelt es sich um netzwerkseitige Profile. Ich kann mich also auf jedem Client mit jedem User anmelden. So weit so gut. An 8 der Arbeitsplätze sitzen täglich Prüflinge und erstellen dort mit einem CAD Programm Files. Damit sich nachfolgende Prüflinge nicht die Files vom Vortag ziehen können, werden täglich die Verzeichnisse geleert. Die User speichern alle ihre Files in ein Verzeichnis, das bei uns /home/trext01-09 (die Nummer richtet sich nach dem User Log In den der Teilnehmer benutzt) heisst.
Damit ich nicht an jede Workstation einzeln rennen muss, logge ich mich übers Netzwerk auf den einzelnen Workstations ein, und lösche dann die Files. Ich benutze dafür den Befehl
exec login trextXX.
Danach fragt er ja logischerweise nach dem Passwort für diesen User. Auch das gebe ich von Hand ein. Dann kann ich mit dem rm Befehl die entsprechenden Files löschen. Das muss ich nun aber leider mühsam für jeden einzelnen User machen. Und genau diesen Vorgang möchte ich gerne mit einem kleinen *.sh File automatisieren. Sodass ich nur das Programm ausführe, und er sich dann der Reihe nach bei allen Usern einlogged und die Files (mit einer bestimmten Endung) löscht. Und ganz zum Schluss soll er dann automatisch noch ein anderes *.sh file starten, mitdem ich mir auf einen Schlag den Inhalt aller /home Verzeichnisse von allen Usern anzeigen lassen kann.
Leider weiss ich nicht recht, wie man das mit der User und Passwortabfrage realisieren kann. Also wenn jemand weiss, wie ich das schreiben kann immer her damit. Und bitte verständlich, ich kann Unix nämlich so gar nich . Hier also noch mal, was ich automatisiert haben will in Kurzfassung:
z.B.
exec login trext02
#Dann soll er automatisch das Passwort für den User eingeben#
rm *.CAT*
exec login trext03
#Dann soll er automatisch das Passwort für den User eingeben#
rm *.CAT*
.
.
.
bis trext09 muss das so gehen. Und dann soll er eine Datei ausführen, die liste.sh heisst
Ich glaube (weiss es also nicht), dass er die Usereingabe und Passwortabfrage nicht so im Hintergrund machen kann. Es müsste also möglich sein, ihm zu sagen, dass er das im Terminalfenster einfach auf den Bildschirm schreiben soll, und dann quasi automatisch mit Enter bestätigen.
Ich hoffe jemand kann mir dabei helfen. Ich will dann einfach diese Datei ausführen, und dann soll er von alleine bei allen Usern das /home Verzeichnis von *.CAT* files leeren.
Danke schon mal. Ich hoffe es war einigermaßen verständlich
Gruß Tanja
Ich darf mich mal als totaler Unix N00b outen, und hoffe hier wird mir geholfen. Und zwar versuche ich gerade ein kleines Programm zu schreiben mit dem ich einige Vorgänge automatisieren kann, die ich sonst immer mühsam von Hand eintippen muss.
Und zwar geht es hierbei um ein Netzwerk, bestehend aus 9 Clients. Alle Clients haben die selben Rechte. Es gibt also keinen Client mit Administratorrechten.
Bei den Usern die wir verwenden handelt es sich um netzwerkseitige Profile. Ich kann mich also auf jedem Client mit jedem User anmelden. So weit so gut. An 8 der Arbeitsplätze sitzen täglich Prüflinge und erstellen dort mit einem CAD Programm Files. Damit sich nachfolgende Prüflinge nicht die Files vom Vortag ziehen können, werden täglich die Verzeichnisse geleert. Die User speichern alle ihre Files in ein Verzeichnis, das bei uns /home/trext01-09 (die Nummer richtet sich nach dem User Log In den der Teilnehmer benutzt) heisst.
Damit ich nicht an jede Workstation einzeln rennen muss, logge ich mich übers Netzwerk auf den einzelnen Workstations ein, und lösche dann die Files. Ich benutze dafür den Befehl
exec login trextXX.
Danach fragt er ja logischerweise nach dem Passwort für diesen User. Auch das gebe ich von Hand ein. Dann kann ich mit dem rm Befehl die entsprechenden Files löschen. Das muss ich nun aber leider mühsam für jeden einzelnen User machen. Und genau diesen Vorgang möchte ich gerne mit einem kleinen *.sh File automatisieren. Sodass ich nur das Programm ausführe, und er sich dann der Reihe nach bei allen Usern einlogged und die Files (mit einer bestimmten Endung) löscht. Und ganz zum Schluss soll er dann automatisch noch ein anderes *.sh file starten, mitdem ich mir auf einen Schlag den Inhalt aller /home Verzeichnisse von allen Usern anzeigen lassen kann.
Leider weiss ich nicht recht, wie man das mit der User und Passwortabfrage realisieren kann. Also wenn jemand weiss, wie ich das schreiben kann immer her damit. Und bitte verständlich, ich kann Unix nämlich so gar nich . Hier also noch mal, was ich automatisiert haben will in Kurzfassung:
z.B.
exec login trext02
#Dann soll er automatisch das Passwort für den User eingeben#
rm *.CAT*
exec login trext03
#Dann soll er automatisch das Passwort für den User eingeben#
rm *.CAT*
.
.
.
bis trext09 muss das so gehen. Und dann soll er eine Datei ausführen, die liste.sh heisst
Ich glaube (weiss es also nicht), dass er die Usereingabe und Passwortabfrage nicht so im Hintergrund machen kann. Es müsste also möglich sein, ihm zu sagen, dass er das im Terminalfenster einfach auf den Bildschirm schreiben soll, und dann quasi automatisch mit Enter bestätigen.
Ich hoffe jemand kann mir dabei helfen. Ich will dann einfach diese Datei ausführen, und dann soll er von alleine bei allen Usern das /home Verzeichnis von *.CAT* files leeren.
Danke schon mal. Ich hoffe es war einigermaßen verständlich
Gruß Tanja