Hand
(usa Debian)
Enviado em 30/04/2015 - 19:33h
Haja vista que eu NÃO SEI trabalhar com mkfifo ou mknod, porem meu shell script é mediocre
construi uma solução que até o momento da suprindo a necessidade
quero ver se consigo tornar esse app mais robusto, alterando o shell
todas as vezes que eu acessar o cups e criando os subdiretorios automaticamente.
#!/bin/bash
#
#PROGRAM NAME: LISTEN DIRECTORY
#AUTHOR: CRISTIANO DOS SANTOS DA SILVA
#COMPANY NAME: PARCE
#CONTACT:
www.facebook.com/CristianoHand
#VERSION: 0.1
#
#SAY: ESTE PROGRAMA TEM O OBJETIVO DE REALIZAR UMA ESCUTA NO DIRETORIO
# /printers/ SE ALGUM SUBDIRETORIO ESTIVER POPULADO REDIRECIONA OS
# ARQUIVOS PARA SUAS RESPECTIVAS IMPRESSORAS
#
#COMECA AQUI O CODIGO
#
#VARIAVEL DE TRAVA
VRV_LCK='TRUE'
#APONTO DIRETORIO
DIR_ORI='/printers/M1212nf/'
#
#LOOP
while true
#
do
#
#CONTA ELEMENTOS DO DIRETORIO
DIR=$(ls $DIR_ORI | wc -l)
#
#SE DIRETORIO NAO ESTIVER VAZIO
if [ $DIR != '0' ]; then
#
#ACESSA DIR
cd $DIR_ORI
#
#CASO CONFICIONAL ESTEJA DESTRAVADA
if [ $VRV_LCK = 'TRUE' ]; then
#IMPRIME ARQUIVO TXT
lp -d M1212nf *.txt > /dev/null
#
#TRAVA IMPRESSORA
VRV_LCK='FALSE'
#
fi
#
#VERIFICO SE EXISTE ARQUIVOS NA FILA
VRV_M1212NF=$(lpstat -u | grep M1212nf | wc -l)
#
#SE FILA DE IMPRESSÃO FOR IGUAL A ZERO
#ENTÃO LIMPA PASTA E LIBERA IMPRESSORA
if [ $VRV_M1212NF = '0' ]; then
#
#MOVE ARQUIVO PARA DIRETORIO NULO
rm *.txt
#
#LIBERA TRAVA
VRV_LCK='TRUE'
#
fi
#
fi
#
#SAI DO LOOP
done
#