Buon giorno, cari lettori.
Sarò estremamente conciso e suddividerò l'articolo in punti.
Problemi di carattere organizzativo
Il numero di utenti del prodotto software AutoCAD supera il numero di licenze di rete locali.
- Il numero di specialisti che lavorano con il software AutoCAD non è normato da alcun documento interno.
- Dalla prima voce, rifiutare l'installazione del programma è quasi impossibile.
- Un'organizzazione del lavoro errata porta a una scarsità di licenze, il che provoca richieste e chiamate da parte degli abbonati al servizio informatico per questo problema.
Problemi tecnici
- Mancanza di strumenti per visualizzare l'elenco delle licenze occupate.
Opzioni di soluzione
- Una soluzione pronta supportata dal produttore del software, che consente agli utenti di visualizzare autonomamente l'elenco delle licenze occupate.
- Sviluppo di qualsiasi soluzione appropriata per visualizzare il rapporto di lavoro del gestore delle licenze sotto forma di pagina web.
Decisione presa e implementazione
Capitolato tecnico
- Possibilità di risparmiare sulla licenza del sistema operativo
- Visualizzazione dell'elenco degli utenti che occupano licenze
Implementazione del lavoro del gestore delle licenze
È stata presa la decisione di implementare la funzione necessaria autonomamente. Procedura da seguire:
- Installazione e configurazione di CentOS 7 sul server di virtualizzazione
- Installazione e avvio di Autodesk Network License Manager per Linux
- Configurazione dell'avvio automatico dell'utilità al riavvio del sistema operativo
- Configurazione del file di parametri (di cui parlerò più avanti)
- Installazione locale server web e PHP
Implementazione della visualizzazione dell'elenco delle licenze occupate
- Creazione di un file .sh con il contenuto indicato di seguito:
#! /bin/bash /opt/flexnetserver/lmutil lmstat -a -c [путь к файлу .lic]> "/var/www/html/log.txt"Viene posizionato in una directory comoda ed è configurato come file eseguibile.
Con questo comando viene scaricato lo stato del gestore delle licenze nel file log.txt
- Ho usato il comando
watch -n 5 [percorso del file .sh creato nel punto n°1]Questo consente di richiamare ogni 5 secondi lo script bash creato in precedenza.
- Nella directory log.txt del punto n°1, viene posizionato il file index.php con il seguente contenuto
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script src="/jq.js"></script> <title>Server di licenza AutoCAD</title> <style> </style> </head> <body> <h1>Elenco delle licenze del server di licensing di AutoCAD</h1> <div style="margin: 10px;"> <?php $log = file_get_contents('.\/log.txt'); $logrp = nl2br($log); $arraystr = explode(PHP_EOL,$logrp); $busy = explode(" ",$arraystr[13]); echo "Attualmente occupato: ".$busy[12]." licenze<br /><br />"; $i = 18; while($i<=37){ //var $a = $i-17; $data = explode(" ", $arraystr[$i]); $time = str_replace('<br', '', $data[13]); //varEND echo "<span>".$a." "; echo "<span>".$data[4]." "; echo "<span>".$data[12]." "; echo "<span>".$data[11]." "; echo "<span>".$time.""; echo "<br>"; $i++; } ?> </div> </body> </html>Vi prego di non giudicare il codice PHP, specialisti più professionali lo faranno meglio, e io ho fatto nel limite delle mie conoscenze.
La sostanza del funzionamento di index.php:
- Ricevo il testo del file log.txt, formato dallo script precedente e aggiornato ogni 5 secondi.
- Sostituisco i tag di interruzione con i tag HTML.
- Suddivido il testo in un array per righe.
- Formatto l'ordine e il contenuto delle righe.
Risultato dell'implementazione di tutti i requisiti
Come appare il GUI server:

Come appare la pagina web:

File di configurazione .opt
In esso ho specificato
TIMEOUTALL 14400 — il tempo di inattività del programma è limitato a 4 ore
MAX_BORROW_HOURS [CODE] 48 — il termine massimo per il prestito è limitato a 2 giorni.
Ulteriori informazioni
Poiché nell'organizzazione vengono utilizzati corretti record di dominio con nomi degli utenti, è molto facile identificare lo specialista che ha preso in prestito la licenza tramite il login.
Risultato complessivo degli sforzi:
- L'utente vede autonomamente la licenza occupata e quindi si riduce il carico sul servizio di supporto tecnico.
- All'interno del gruppo di specialisti che lavorano con il software senza la partecipazione del supporto tecnico, si risolve la questione «A chi spetta la licenza?», e a seconda della priorità delle attività, la licenza viene liberata o usata.
- Risparmio sulla licenza di Windows.
Fonte: habr.com
