você está aqui: Home  → Arquivo de Mensagens Programação Shell Linux: Inscrições Abertas

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