Bom dia, caros leitores.
Serei extremamente breve e dividirei o artigo em tópicos.
Problemas organizacionais
O número de usuários do software AutoCAD supera o número de licenças de rede locais.
- O número de especialistas que trabalham com o software AutoCAD não é regulamentado por nenhum documento interno.
- Com base no ponto nº 1, é quase impossível recusar a instalação do programa.
- Uma organização inadequada do trabalho leva à escassez de licenças, resultando em solicitações e ligações dos assinantes para o serviço de tecnologia da informação com esse problema.
Problemas técnicos
- Falta de recursos para visualizar a lista de licenças ocupadas.
Opções de solução
- Uma solução pronta apoiada pelo fabricante do software, permitindo aos usuários visualizar de forma independente a lista de licenças ocupadas.
- Desenvolvimento de qualquer solução adequada para apresentar o relatório do trabalho do gerenciador de licenças na forma de uma página web.
Solução aceita e implementação
Especificação técnica
- Possibilidade de economizar em licenças de sistema operacional
- Apresentação da lista de usuários ocupando licenças
Implementação do trabalho do gerenciador de licenças
Decidimos implementar a função necessária de forma independente. Ordem de execução:
- Instalação e configuração do CentOS 7 no servidor de virtualização
- Instalação e execução do Autodesk Network License Manager para Linux
- Configuração da inicialização automática do utilitário ao reiniciar o sistema operacional
- Configuração do arquivo de parâmetros (sobre o qual escreverei abaixo)
- Instalação local servidor web e PHP
Implementação da saída da lista de licenças ocupadas
- Criação de um arquivo .sh com o conteúdo abaixo:
#! /bin/bash /opt/flexnetserver/lmutil lmstat -a -c [путь к файлу .lic]> "/var/www/html/log.txt"Ele é colocado em um diretório conveniente e configurado como um arquivo executável.
Com este comando, você descarrega o status do gerenciador de licenças para o arquivo log.txt
- Usei o comando
watch -n 5 [caminho para o arquivo .sh criado no ponto nº 1]Isso permite chamar o script bash criado anteriormente a cada 5 segundos.
- No diretório log.txt do ponto nº 1, é colocado um arquivo index.php com o seguinte conteúdo
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script src="/jq.js"></script> <title>Servidor de Licença do AutoCAD</title> <style> </style> </head> <body> <h1>Lista de licenças do servidor de licenciamento do 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 "No momento, estão ocupadas: ".$busy[12]." licenças<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>Peço que não me critiquem pelo código PHP, profissionais mais qualificados farão melhor, e eu fiz dentro do que sei.
A essência do trabalho do index.php:
- Recebo o texto do arquivo log.txt, gerado anteriormente pelo script, e atualizado a cada 5s.
- Substituo tags de quebra de linha por tags html.
- Particiono o texto em um array por linhas.
- Formatando a ordem e o conteúdo das linhas.
Resultado da implementação de todos os requisitos
Como é a aparência do GUI servidor:

Como é a página da web:

Arquivo de parâmetros .opt
Nele, eu indiquei
TIMEOUTALL 14400 — o tempo de inatividade do programa é limitado a 4 horas
MAX_BORROW_HOURS [CODE] 48 — o prazo máximo de empréstimo é limitado a 2 dias.
Informações adicionais
Como a organização utiliza registros de domínio com nomes corretos para os colaboradores, é fácil identificar o especialista que ocupa a licença pelo login.
Resultado geral dos esforços:
- O usuário pode ver por conta própria a licença ocupada, reduzindo assim a carga sobre o serviço de atendimento técnico.
- Dentro da equipe de especialistas que trabalham no software sem a participação do suporte técnico, a questão "Quem ficará com a licença?" é resolvida, e dependendo da prioridade das tarefas, a licença é liberada ou ocupada.
- Economia na licenciamento do Windows.
Fonte: habr.com
