Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Samba - Registro de impressões efetuadas

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:

  1. Registrar o trabalho de impressão
  2. Comandar de fato a impressão

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 :)

Veja a relação completa dos artigos de Fabiano Caixeta Duarte

Stumble Upon Digg This Del.icio.us Twitter Recomendar este artigo a um amigo Entre em contato Formato PDF
Newsfeed RSS
Formato para impressão
StumbleUpon Digg Del.icio.us Twitter Recomendar Contato PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 3.01/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (487 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script
Criando Aplicações PHP com Zend e Dojo


Encontre imóveis, apartamentos e casas a venda no Imobilien
Saiba mais