Filtrando trabalhos de impressão...
Publicado por Marcelo de Souza Sant´Anna 27/03/2005
[ Hits: 4.738 ]
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
Monitoramento Serviços por IP e PORTA !
Backup de Maquina Virtual (Vmware)
Claro 3g Sony Ericsson md300 script conexao REVISAO 2
Nenhum comentário foi encontrado.
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Problema em SSD ao dar boot LinuxMint LMDE FAYE 64 (0)
Baixar jogos Independentes para Ubuntu [RESOLVIDO] (4)
PIP3 - erro ao instalar módulo do mariadb para o Python (1)
Linux x Plataformas de Trading - um problema (in-)solúvel? (4)