Buongiorno, cari lettori.
Sarò molto breve e suddividerò l'articolo in punti.
Problemi di natura organizzativa
Il numero di utenti del software AutoCAD supera il numero di licenze di rete locali.
- Il numero di specialisti che lavorano con il software AutoCAD non è regolamentato da alcun documento interno.
- Basandosi sul punto n. 1, è praticamente impossibile rifiutare l'installazione del programma.
- Una cattiva organizzazione del lavoro porta a una carenza di licenze, il che provoca richieste e telefonate da parte degli utenti al servizio informatico riguardo a 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 generare un report del lavoro del gestore delle licenze in formato pagina web.
Decisione accettata e realizzazione
Specifiche tecniche
- Possibilità di risparmiare sulla licenza del sistema operativo
- Elenco degli utenti che occupano licenze
Implementazione del lavoro del gestore delle licenze
È stata presa la decisione di implementare autonomamente la funzione necessaria. Procedura di esecuzione:
- 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
- Impostazione del file di configurazione (di cui scriverò più avanti)
- Installazione locale web server e PHP
Implementazione dell'elenco delle licenze occupate
- Creazione di un file .sh con il contenuto riportato di seguito:
#! /bin/bash /opt/flexnetserver/lmutil lmstat -a -c [путь к файлу .lic]> "/var/www/html/log.txt"Deve essere posizionato in una directory comoda e configurato come file eseguibile.
Utilizzando questo comando, il status del gestore delle licenze viene salvato nel file log.txt
- Ho usato il comando
watch -n 5 [percorso del file .sh creato nel punto n°1]Questo permette 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 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."</span> "; echo "<span>".$data[4]."</span> "; echo "<span>".$data[12]."</span> "; echo "<span>".$data[11]."</span> "; echo "<span>".$time."</span>"; echo "<br>"; $i++; } ?> </div> </body> </html>Vi prego di non giudicare il codice PHP, specialisti più esperti faranno un lavoro migliore, io ho fatto quanto nelle mie possibilità.
Il funzionamento di index.php:
- Ricevo il testo del file log.txt, precedentemente generato dallo script, e aggiornato ogni 5 secondi.
- Sostituisco i tag di interruzione con i tag html.
- Divido il testo in un array per righe.
- Formatto l'ordine e il contenuto delle righe.
Risultato dell'implementazione di tutti i requisiti
Come appare l'interfaccia grafica server:

Come si presenta la pagina web:

File delle impostazioni .opt
In esso ho specificato
TIMEOUTALL 14400 — il tempo di inattività del programma è limitato a 4 ore
MAX_BORROW_HOURS [CODE] 48 — il periodo massimo di prestito è limitato a 2 giorni.
Informazioni aggiuntive
Poiché nell'organizzazione vengono utilizzati indirizzi di dominio nominativi corretti, è facile identificare il professionista che ha preso in prestito la licenza dal login.
Risultato complessivo degli sforzi:
- L'utente può vedere autonomamente la licenza occupata, riducendo così il carico sul servizio di supporto tecnico.
- All'interno del gruppo di specialisti che lavorano nel software senza il supporto tecnico, si risolve la questione "A chi andrà la licenza?", e a seconda delle priorità lavorative, la licenza viene liberata o occupata.
- Risparmi sui costi di licenza di Windows.
Fonte: habr.com
