Bună ziua, dragi cititori.
Voi fi extrem de concis și voi împărți articolul în puncte.
Probleme de organizare
Numărul utilizatorilor produsului software AutoCAD depășește numărul licențelor de rețea locale.
- Numărul specialiștilor care lucrează în software-ul AutoCAD nu este reglementat de niciun document intern.
- Având în vedere punctul №1, este aproape imposibil să se refuze instalarea programului.
- O organizare greșită a lucrărilor duce la lipsa licențelor, ceea ce determină solicitări și apeluri din partea abonaților către serviciul de tehnologia informației cu această problemă.
Probleme tehnice
- Lipsa resurselor pentru vizualizarea listei de licențe ocupate.
Opțiuni de soluționare
- O soluție gata disponibilă, susținută de producătorul software-ului, care permite utilizatorilor să vizualizeze singuri lista de licențe ocupate.
- Dezvoltarea oricărei soluții adecvate pentru a genera raportul activității managerului de licențiere sub formă de pagină web.
Soluția acceptată și implementarea
Cerințele tehnice
- Posibilitatea de a economisi pe licențele sistemului de operare
- Listarea utilizatorilor care dețin licențe
Implementarea funcționării managerului de licențiere
S-a decis să se implementeze funcția necesară pe cont propriu. Procedura de execuție:
- Instalarea și configurarea CentOS 7 pe serverul de virtualizare
- Instalarea și lansarea Autodesk Network License Manager pentru Linux
- Configurarea autostart-ului utilitarului la repornirea sistemului de operare
- Configurarea fișierului de parametri (despre care voi scrie mai jos)
- Instalarea locală servere web și PHP
Implementarea listării licențelor ocupate
- Crearea fișierului .sh cu conținutul menționat mai jos:
#! /bin/bash /opt/flexnetserver/lmutil lmstat -a -c [путь к файлу .lic]> "/var/www/html/log.txt"Acesta este plasat într-un director convenabil și este configurat ca fișier executabil.
Prin această comandă se descarcă starea managerului de licențe într-un fișier log.txt
- Am folosit comanda
watch -n 5 [calea către fișierul .sh creat la punctul №1]Aceasta permite apelarea scriptului bash creat anterior la fiecare 5 secunde.
- În directorul log.txt de la punctul №1, este plasat fișierul index.php cu următorul conținut
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script src="/jq.js"></script> <title>Server de licențe AutoCAD</title> <style> </style> </head> <body> <h1>Lista licențelor serverului de licențiere 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 "În acest moment sunt ocupate: ".$busy[12]." licențe<br /><br />"; $i = 18; while($i<=37){ //$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>Vă rog să nu judecați codul PHP, specialiști mai profesioniști îl vor face mai bine, iar eu am făcut cât am știut.
Esenta lucrării index.php:
- Obțin textul fișierului log.txt, generat anterior de script, care este actualizat la fiecare 5s.
- Înlocuiesc etichetele de întoarcere cu etichete HTML.
- Împart textul într-un array pe rânduri.
- Formatez ordinea și conținutul rândurilor.
Rezultatul implementării tuturor cerințelor
Cum arată GUI server:

Cum arată pagina web:

Fișierul de parametri .opt
În acesta am specificat
TIMEOUTALL 14400 — timpul de inactivitate al programului este limitat la 4 ore
MAX_BORROW_HOURS [CODE] 48 — perioada maximă de împrumut este limitată la 2 zile.
Informații suplimentare
Deoarece în organizație sunt utilizate înregistrări de domeniu cu nume corecte pentru angajați, este foarte ușor să identifici specialistul care utilizează licența.
Rezultatul general al eforturilor:
- Utilizatorul poate vedea singur licența ocupată, reducând astfel încărcătura serviciului de suport tehnic.
- În cadrul echipei de specialiști care lucrează în software fără implicarea suportului tehnic se discută problema „Cui îi revine licența?”, și, în funcție de prioritatea muncii, licența este eliberată sau utilizată.
- Economisirea pe licențierea Windows.
Sursa: habr.com
