henriquew
(usa Ubuntu)
Enviado em 15/09/2015 - 20:43h
signout escreveu:
Boas...
A mensagem é simples, você tem algum if sem o then.
if [ condicao ] ;then
fi
Como você não mandou o script, não da para dizer onde esta o erro.
Outra coisa, não é necessário 777 no arquivo... pode ser o padrão 755.
Espero que ajude.
[]s
O pior é que está certo, por esse motivo fiz no notepad++ ai consigo identar certinho para evitar isso: segue meu shell
PROCESSOS=`ps aux | grep ShellTCC.sh | grep -v grep`
if [$PROCESSOS -le 2];then
####### INICIO DAS VARIAVEIS DE PARAMETRIZAÇÃO #######################
############### banco de dados #################
#Nome do Banco
BANCO=TCC
#Usuario com acesso ao Banco
USUARIO_BANCO=root
#Senha do usuario com acesso ao Banco
SENHA_BANCO=mysql
#Path do MySQL
MYSQL=/usr/bin/mysql
############### fim banco de dados ##############
############### variaveis estaticas #############
#Verifica impressora, path do comando que informa se ha jobs, lpstat
LPSTAT=/usr/bin/lpstat
#Path do comando que remove job da fila de impressao, lprm
LPRM=/usr/bin/lprm
#Path do diretorio de spool da fila de impressao
SPOOL_FILA=/var/spool/cups/
################ fim variaveis estaticas #########
########## FIM DAS VARIAVEIS DE PARAMETRIZAÇÃO ##########################
#BUSCA IMPRESSORAS VIRTUAIS DO BANCO
VIRTUAL=`$MYSQL -B -N -u $USUARIO_BANCO -p $SENHA_BANCO -e "SELECT REPLACE(GROUP_CONCAT(FILAVIRTUAL_IMPRESSORA), ',', ' ') FROM IMPRESSORA;" $BANCO`
while True;do
#Identificar os arquivos dos respectivos jobs da impressora VIRTUAL
vet_jobs=`$LPSTAT -P $VIRTUAL | grep "$VIRTUAL" | cut -d"-" -f2 | cut -d" " -f1 | tail -1`
if [ -n "$vet_jobs" ];then
while job in $vet_jobs; do
if [ $job -lt 10 ];then
nome_arq_job="d0000$job-001"
fi
if [ $job -gt 9 -a $job -lt 100 ];then
nome_arq_job="d000$job-001"
fi
if [ $job -gt 99 -a $job -lt 1000 ];then
nome_arq_job="d00$job-001"
fi
if [ $job -gt 999 -a $job -lt 10000 ];then
nome_arq_job="d0$job-001"
fi
#Identificar o dono do Job
dono=‘$LPSTAT -P $VIRTUAL | grep "$VIRTUAL-$job" | awk ’{print $2}’‘
#Testar se o dono do Job eh diferente de NULL
if test "X$dono" = "X" ;then
#Grava no log:
echo "Nao foi possivel identificar o dono do arquivo $nome_arq_job. Job Cancelado." >> $log_arq
#Deletar job da Impressora Virtual
$LPRM -P $VIRTUAL $job
#executa=`$MYSQL -B -N -u $USUARIO_BANCO -p$SENHA_BANCO -e "Insert into logi (cod,login,data,hora,job,paginas,arquivo,status) VALUES (0,'SEM DONO',SYSDATE(),NOW(),$job,0,'$nome_arq_job','Falhou');" $BANCO`
# Volta ao Loop
continue
fi
#Testar se o arquivo temporario de impressao nao existe
if ! [ -f $SPOOL_FILA$nome_arq_job ];then
#Grava no log:
echo "Arquivo $nome_arq_job nao existe, do job= $job. Job Cancelado." >> $log_arq
#Deletar job da Impressora Virtual
$LPRM -P $VIRTUAL $job
#Inseri "Falhou" na tabela logi
#executa=`$MYSQL -B -N -u $USUARIO_BANCO -p$SENHA_BANCO -e "Insert into logi (cod,login,data,hora,job,paginas,arquivo,status) VALUES (0,'$dono',SYSDATE(),NOW(),$job,0,'$nome_arq_job','Falhou');" $BANCO`
# Volta ao Loop
continue
fi
#Identificar quantas paginas o Job possui
paginas_job=‘cat $SPOOL_FILA$nome_arq_job | grep ’%%Pages:’| tail -1 | cut -d’ ’-f2‘
#Testar se a quantidade de pagina eh negativa, cancelar impressao
if [ $paginas_job -lt 1 ];then
#Grava no log:
#echo "Arquivo $nome_arq_job com a quantidade de pagina menor que 1. Job=$job Cancelado." >> $log_arq
#Deletar job da Impressora Virtual
$LPRM -P $VIRTUAL $job
#Inseri "Arq. sem PGs" na tabela logi
#executa=`$MYSQL -B -N -u $USUARIO_BANCO -p$SENHA_BANCO -e "Insert into logi (cod,login,data,hora,job,paginas,arquivo,status) VALUES (0,'$dono',SYSDATE(),NOW(),$job,0,'$nome_arq_job','Arq. sem Pgs');" $BANCO`
# Volta ao Loop
continue
fi
done
fi
done
################### ESCREVE VARIAVEIS NO LOG ##################
echo "---------BANCO--------" >> /var/log/ShellTCC.log
echo "NomeBanco = $BANCO" >> /var/log/ShellTCC.log
echo "Usuario = $USUARIO_BANCO" >> /var/log/ShellTCC.log
echo "Senha = $SENHA_BANCO" >> /var/log/ShellTCC.log
echo "---------SCRIPT-------" >> /var/log/ShellTCC.log
echo "Dono = $dono" >> /var/log/ShellTCC.log
echo "Fila = $VIRTUAL" >> /var/log/ShellTCC.log
echo "Paginas = $paginas_job" >> /var/log/ShellTCC.log
echo "Nome = $nome_arq_job" >> /var/log/ShellTCC.log
echo "Job = $job" >> /var/log/ShellTCC.log
echo "----------------------" >> /var/log/ShellTCC.log
######################## FIM ESCRITA LOG ######################
######################## CONTROLE DE COTAS ####################
#$usuario = $argv[1];
#$impressora = $argv[2];
#$numpaginas = $argv[3];
#$nome_arq_job = $argv[4];
#$job = $argv[5];
TCC=/TCC-ControleCotas
$TCC $dono $VIRTUAL $paginas_job $nome_arq_job $job
####################### FIM CONTROLE DE COTAS #################
fi