Filtrando trabalhos de impressão...
Publicado por Marcelo de Souza Sant´Anna 27/03/2005
[ Hits: 4.542 ]
Homepage: http://paginas.terra.com.br/informatica/marcelosantanna
Este script filtra os trabalhos de impressão entre o samba e o cups.
Lembre-se de colocar este script em /usr/bin
Instale o CUPS e configure uma impressora. Ex printer1
Instale o SAMBA e compartilhe esta, acrescentando estas linhas no smb.conf:
...
[printer1]
...
printer name = printer1
print command = echo "`date`*%p*%f*%J*%z*%c*%u*%m--%M" >> /tmp/smbprnprinter1; \
prnfltprinter1; \
lp -d %p %f; rm %f
#!/bin/bash # Arquivo de log criado pelo samba, cujo conteudo e: # DATA*IMPRESSORA*TRABALHO*TITULO*TAMANHO*PAGINAS*USUARIO*COMPUTADOR # # DATA - Contem a data atual, no momento do pedido de impressao # IMPRESSORA - Contem o nome da impressora # TRABALHO - Contem o nome do trabalho gerado pelo samba # TITULO - Contem o nome do titulo do documento # TAMANHO - Contem o tamanho, em Kilobytes, do documento # PAGINAS - Contem o numero de paginas pedidas.(Dependendo do gerenciador) # USUARIO - Contem o nome do usuario que esta fazendo o pedido a impressao # COMPUTADOR - Contem o nome do computador, seguido do endereco IP, que esta solicitando a impressao. # # EXEMPLO: # # Mon Oct 25 04:54:38 BRST 2004*printer1*smbprn.00002172.ZFpgbN*Evol*2945k*0*santanna*cir-santanna--192.168.0.10 # # INLOGTOT=/tmp/smbprnprinter1 # verifica se o arquivo existe if [[ -e $INLOGTOT ]] then # variavel TLINHAS recebe o total de linhas TLINHAS=$(wc -l $INLOGTOT | cut -d " " -f1) # cria um loop, o numero de vezes de acordo com a quantidade de linhas for LINHA in $(seq 1 $TLINHAS) do # recebe o conteudo de cada linha, uma por loop. CONTEUDOLINHA=$(head -n $LINHA $INLOGTOT | tail -n 1) # variavel TRABALHO recebe o nome do trabalho, do documento, gerado pelo samba TRABALHO=$(echo $CONTEUDOLINHA | cut -d "*" -f3) # variavel TITULO recebe o titulo do documento TITULO=$(echo $CONTEUDOLINHA | cut -d "*" -f4) # Todos os trabalhos que nao tiverem no titulo algumas destas palavras serao excluidos... if [[ $(echo $TITULO | egrep -i -v '(evol|seagate|report|viewer|preview|client)') ]] then rm -f /var/spool/samba/$TRABALHO fi done rm -f $INLOGTOT fi
script para travar usuario discado
Criação de servidores de arquivos simples com Samba
Converter Arquivo RMVB para AVI
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
A area de trabalho ficou preta (6)
De volta para o futuro - ou melhor, para o presente (22)
Cursos, livros e comunidades (4)
Erro de Montagem SSD Nvme (11)
O gerenciamento da placa de som do meu sistema está maluco (0)