84075
Goto Top

Batch für Flexlm

Hallo Leute,

hab ein paar Fragen bezüglich batch files. Ich möchte beispielsweise eine batch schreiben die auf drei servern einen flexlm service startet. Beim ausführen der Batch möchte ich das mich die batch frägt welchen Dienst ich starten will.

Lizenzservices starten:
sc \\lizenzserver01 start "DIENSTNAME"  
sc \\lizenzserver02 start "DIENSTNAME"  
sc \\lizenzserver03 start "DIENSTNAME"  

Dann möchte ich Lizenzen freigeben mit dem u.g. Befehl.

Erklärung zur Lizenzfreigabe:
This variation uses the serverhost, port, and license handle, as reported by lmstat -a. Consider this example lmstat -a output:
"f1"
joe cloud7 /dev/ttyp5 (v1.000) (cloud9/7654 102), start Fri 10/29 18:40

In this example, the serverhost is `cloud9', the port is `7654' and the license handle is ´102´, the User is ´joe´ and ´f1´ is the feature. To remove this license, issue the following command:
lmremove -h f1 cloud9 7654 102
or
lmremove f1 joe cloud7 /dev/ttyp5

Am liebsten hätte ich ne batch wo ich nur den user sowie das feature eingebe damit er die lizenz freigibt.

Content-Key: 146001

Url: https://administrator.de/contentid/146001

Ausgedruckt am: 29.03.2024 um 10:03 Uhr

Mitglied: 60730
60730 30.06.2010 um 15:33:29 Uhr
Goto Top
moin,

set /p servicename=Dienst
sc \\lizenzserver01 start %servicename%

Wobei das wohl eher nur ein ganz banaler ansatz ist

set /p servicename=Dienst
if "%servicename%"=="mein einer dienst" goto start  
if "%servicename%"=="mein anderer dienst" goto start  
goto error
:start
sc \\lizenzserver01 start %servicename%

Wobei auch das kein Meisterwerk ist, das nicht bereits hier irgendwo in den unsuchbaren Tiefen der digitalen Datenverarbeitung zu finden wäre...

Und wegen dem Rest - der eigentlich ne wilde Mischung aus *ux und Winblows Befehlen ist und keine Frage...
Auch wenns bei dir im Büro warm ist - ist es bei uns anderen auch - also etwas mehr elöan und mühe bei der Fragestellung...

Am liebsten hätte ich ne batch wo ich nur den user sowie das feature eingebe damit er die lizenz freigibt.

Und was genau zahlst du - dein Kunde?
Und wie genau soll das freigeben der richtigen Lizenz geschehen?
Was kann in die Hose gehen, wenn du jemandem die Lizenz kickst und der an nem langen Projekt sitzt und auf einmal alles wech ist?

Gruß
Mitglied: 84075
84075 30.06.2010 um 15:54:43 Uhr
Goto Top
also das mit dem freigeben der lizenzen passiert ja nur wenn eine lizenz hängt sprich komplett blockiert ist. Und auch nur dann wenn der user darum bittet die lizenz wieder freizugeben. Um die Lizenz dann freizugeben gehe ich wie folgt vor in der Eingabeaufforderung:

Ich gebe zuerst das ein um mir den genauen status und alle informationen anzeigen zu lassen:
lmutil lmstat -a -c <Pfad zur Lizenzfile>

Das sieht dann in etwa so aus:
"AcroViewer"  
joe cloud7 /dev/ttyp5 (v1.000) (cloud9/7654 102), start Fri 10/29 18:40

Dann weiss ich aha der User "joe" der auf dem Rechner "cloud7" arbeitet hat sich die Lizenz für das Feature "AcroViewer" geholt. Der Port lautet "7654" und das Handle ist "102".
Um die Lizenz nun freizugeben gebe ich folgendes ein:
lmutil lmremove -h AcroViewer cloud9 7654 102

Options of lmutil:
usage: lmutil lmborrow -status
lmutil lmborrow -clear
lmutil lmborrow {all|vendor} dd-mmm-yyyy:[time]
lmutil lmborrow -return [-c licfile] [-d display_name] [-fqdn] feature
lmutil lmdiag [-c licfile] [-n]
lmutil lmdown [-c licfile] [-q] [-all] [-vendor name] [-force] [-help]
lmutil lmhostid [-ptype (VMW|PHY)] [-ether|-internet|-user|-n|-string|
-display|-hostname|-hostdomain|-vsn|-flexid|-long|-utf8|-uuid]
lmutil lminstall [-i infile] [-o outfile]
[-overfmt {2, 3, 4, 5, 5.1, 6, 7.1, 8}]
[-odecimal] [-maxlen n]
lmutil lmnewlog [-c licfile] vendor new-file, or
lmutil lmnewlog [-c licfile] feature new-file
lmutil lmpath -status
lmutil lmpath -override {all | vendor } path
lmutil lmpath -add {all | vendor } path
lmutil lmremove [-c licfile] feature user host display
lmutil lmremove [-c licfile] -h feature host port handle
lmutil lmreread [-c licfile] [-vendor name] [-all]
lmutil lmswitchr [-c licfile] vendor new-file, or
lmutil lmswitchr [-c licfile] feature new-file
lmutil lmstat [-c licfile] [lmstat-args]
lmutil lmswitch [-c licfile] vendor new-file, or
lmutil lmswitch [-c licfile] feature new-file
lmutil lmver flexlm_binary
lmutil -help (prints this message)
lmutil utility_name -help (display detailed usage information)

Was ich versuche zu realisieren ist ein Skript das mich einfach nur nach dem User und dem Feature frägt das freigegeben werden soll. Wenn ich das eingebe sollte das batch eben den zuletzt genannten Befehl ausführen. DA ich mich mit batch gar nicht auskenne wäre ich für Hilfe echt dankbar oder wenigstens Tipps wie ich zu der Lösung gelange.
Mitglied: 60730
60730 30.06.2010 um 16:11:30 Uhr
Goto Top
Was ich versuche zu realisieren ist ein Skript das mich einfach nur nach dem User und dem Feature frägt das freigegeben werden soll.
Wenn ich das eingebe sollte das batch eben den zuletzt genannten Befehl ausführen.
DA ich mich mit batch gar nicht auskenne wäre ich für Hilfe echt dankbar oder wenigstens Tipps wie ich zu der Lösung gelange.


ok - aber bitte noch genauer....

<code plain>"AcroViewer"
joe cloud7 /dev/ttyp5 (v1.000) (cloud9/7654 102), start Fri 10/29 18:40

ist ja laut dir eine Ausgabe - aber sieht die immer so aus, oder auch mal so:

"AcroViewer"  
joe cloud7 /dev/ttyp5 (v1.000) (cloud9/7654 102), start Fri 10/29 18:40
anna cloud8 /dev/ttyp5 (v1.000) (cloud4/7654 102), start Fri 10/29 18:40
oder so?

"AcroViewer"  
joe cloud7 /dev/ttyp5 (v1.000) (cloud9/7654 102), start Fri 10/29 18:40
"AcroViewer"  
anna cloud8 /dev/ttyp5 (v1.000) (cloud4/7654 102), start Fri 10/29 18:40


denn das ist das Salz in der Suppe...
Mitglied: 84075
84075 30.06.2010 um 16:22:35 Uhr
Goto Top
Hmmm ja genau das ist ja mein Problem. Es wird zuerst der "User" angezeigt dann dessen "Rechner". Und was zum freigeben eben wichtig ist ist nur das in klammern also der Port 7654 und das Handle was bei USER1 2235 ist. Wobei bei jedem User der Port gleich bleibt das Handle jedoch unterschiedlich ist. Z.B.:

  "AcroViewer" v10.0, vendor: altair_lm floating license  
USER1 HOSTNAME1 :0.0 (v9.0) (84.10.23.155/7054 2235), start Fri 6/25 15:00, 600 licenses
USER2 HOSTNAME2 :0.0 (v9.0) 84.10.23.155/7054 3478), start Tue 6/22 14:27, 600 licenses
USER3 HOSTNAME3 :0.0 (v10.0) (84.10.23.155/7054 495), start Wed 6/30 9:07, 2100 licenses

Kann man denn keine Batch schreiben die mich beim ausführen frägt welchen User und welches Feature ich freigeben will? Angenommen ich will die Lizenz von User3 freigeben und der Name des Features wäre AcroViewer, dann würde der Befehl lmutil lmremove -h AcroViewer USER13 7054 495 lauten. Hmmm ... da muss es doch ne Möglichkeit geben
Mitglied: 60730
60730 30.06.2010 um 16:57:59 Uhr
Goto Top
Zitat von @84075:
Hmmm ja genau das ist ja mein Problem.

und bei mir ist es das Wetter...
"Danke" für das posten einer längeren liste - und wenn du dir mal meine beiden "Beispiele" anschaust - deines ist das 3. (also pro "Dienst" eine zusammenfassung)
Es wird zuerst der "User" angezeigt dann dessen "Rechner".

Nein - zuerst der Dienst und in einer zweiten ff Zeile wer Sie auf hat.
Und was zum freigeben eben wichtig ist ist nur das in klammern also der Port 7654 und das Handle was bei USER1 2235 ist.
Wobei bei jedem User der Port gleich bleibt das Handle jedoch unterschiedlich ist.

Das ist mit Verlaub aber auch keine besonderheit - das ist quasi der ist zustand von jeder Software, die irgendwie einem standard entspricht.

Kann man denn keine Batch schreiben die mich beim ausführen frägt welchen User und welches Feature ich freigeben will?
"Frägt" wer?

  • Set /P
  • find oder findstr
  • for wahrscheinlich /f
  • und wenn es denn wirklich so ist - schau mal wie oft es das Zeichen "" gibt und dass das - nach deiner Liste - ja nur in der jeweiligen Zeile steht - wo der "Dienst" genannt wird.
  • und das gleiche mit dem Zeichen ( bzw. ) - das taucht ja nur da auf, wo ein User, ein Port usw. drin stehen.
  • for /? -> "token= delims=......

Angenommen ich will die Lizenz von User3 freigeben und der Name des Features wäre AcroViewer, dann würde der Befehl
lmutil lmremove -h AcroViewer USER13 7054 495 lauten. Hmmm ... da muss es doch ne Möglichkeit geben

Ganz ehrlich ist wirklich banal und ganz ernster - ich/wir haben dir schon bei so vielen "Problemen" geholfen - baue bitte etwas aus den 3 oberen Befehlen zusammen, das man mal sieht, was von unserem Wissen bei dir angekommen ist.

Denn dazu brauchst keinen Biber Bastla und co. das kann sogar der kleine Butzemann.

Wenns dann wider erwarten doch hakt, dann gerne - aber nicht bei dem Wetter von uns immer wieder erwarten, dass wir dir die Nahrung vorgekaut mit dem Löffel in den Mund stecken.

Optimieren gerne - Tipps geben auch gerne - aber nicht immer wieder alles vorkauen.

Ich hoffe du verstehst den Hint mit dem Winkpfahl denn auch ich muß fähige Leute heranzüchten, die meine Rente erwirtschaften - wenn ich die Radiesschen von unten ansehe, kannst du mich ja auch nicht mehr fragen face-wink
Gruß