Filtrando trabalhos de impressão...
Publicado por Marcelo de Souza Sant´Anna 27/03/2005
[ Hits: 4.685 ]
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
cal2svg gerador de calendários em formato vetorial SVG
Instalação automática do Nagios
Configuração de failover de links de internet
Nenhum coment�rio foi encontrado.
Conciliando o uso da ZRAM e SWAP em disco na sua máquina
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Realizar overclock no Miyoo Mini (plus ou normal)
Otimização de memória para máquinas modestas
Unbuntu não atualiza o firmware [RESOLVIDO] (2)
linux mint reconhece microfone de lapela como fone de ouvido sem micro... (0)
Dúvidas sobre a originalidade de conteúdos online (10)
Erro de interface de Rede no Virt Manager dentro Debian 13 KDE [RESOLV... (12)