De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Fabiano Caixeta Duarte
Data de Publicação: 29 de Outubro de 2004
Você não precisa implementar quota de impressão mas seu chefe quer saber quem imprime o que? Se você usa samba, pode ser que esta dica te ajude :)
O Samba possui diversas variáveis para registro de informações sobre usuários e sua interação com o Samba. Algumas delas são relativas ao uso de compartilhamentos de impressão (impressoras). Créditos para Ali Faiez Ta ha e Joelson Vendramin pela informação!
A partir do uso do comando "print command" no smb.conf, podemos passar as variáveis para um script que terá du as responsabilidades:
Assim, um exemplo de uma entrada de compartilhamento no arquivo de configuração do Samba seria:
[printers] browseable = no guest ok = yes writable = no printable = yes print command = /usr/local/bin/lpr-smb-logger '%p' '%s' '%U' '%M' '%J' '%c'
O script acima (/usr/local/bin/lpr-smb-logger) pode ter o seguinte conteúdo:
# -------------------------------------------------------------------------- #!/bin/bash # Parametros recebidos (linha de comando) # $1 - Nome da impressora (%p) # $2 - Nome do arquivo de spool (%s) # $3 - Login do usuario que submeteu o trabalho (%U) # $4 - Nome netbios da máquina que gerou o job (%M) # $5 - Nome do job informado pelo cliente Windows (%J) # $6 - Numero de paginas informado pelo Windows (%c) MYSQL=``which mysql`` DBHOST=servidor DBNAME=banco DBUSER=usuario DBPASS=senha $MYSQL -h$DBHOST -u$DBUSER -p$DBPASS $DBNAME -e "insert into impressao values ( '$3', curdate(), curtime(), '$ 1', '$4', '$5', $6 )" # Submete o trabalho ao sistema de impressao Linux /usr/bin/lpr -r -P $1 $2 # --------------------------------------------------------------------------
Note que como o registro está sendo feito em banco de dados, pode-se redirecionar os trabalhos de vários servi dores para um mesmo banco, centralizando o registro.
Depois, basta escolher a forma de apresentação dos registros efetuados. Nossa opção foi um arquivo em pdf gera do com php + fpdf. Mas isto é material para outra dica :)
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários