Problema ao chamar um Shell Script pelo Incontrab [RESOLVIDO]

1. Problema ao chamar um Shell Script pelo Incontrab [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 17/05/2012 - 19:31h

Estou chamando um shell script pelo incontrab.

/home/form/Maildir/new IN_ATTRIB /home/Tec/script/organiza.sh $# $@

A minha intenção é que quando o arquivo tem uma modificação no atributo ele execute o shell.

esse meu shell copia o e-mail de /home/form/Maildir/new e manda para outras pasta /home/form/Maildir/new/qualqueroutracoisa

porem o shell não está sendo executado, o e-mail continua na pasta /home/form/Maildir/new.

O syslog apresenta a seguinte saida.
(meu usuário é Tec)

(Tec) CMD (/home/Tec/script/organiza.sh 1337290689.H388178P25191.mail0.gmail.br /home/form/Maildir/new)

o mais engraçado é que se eu pegar essa linha
(/home/Tec/script/organiza.sh 1337290689.H388178P25191.mail0.gmail.br /home/form/Maildir/new) e jogar no terminal de comando esse shell se executa corretamente.

Minha primeira suspeita era que o incrontab não estava executando o shell mas não consigo explicar então o do porque aparecer a saída daquela maneira no syslog.

Alguem consegue me ajudar ?


Meu shell script é o seguinte

(ele funciona normalmente pela linha de comando)

#!/bin/bash

email=$1
caminho=$2
grep -A 1 "=C3=81rea Pretendida" $caminho/$email > arqtemp
touch arqtemp2
sed -e 1d arqtemp > arqtemp2
NUM=`cat arqtemp2`

case $NUM in

"Circuitos") mv $caminho/$email $caminho/1/;;
"Sistemas") mv $caminho/$email $caminho/1/;;
"Sinais")mv $caminho/$email $caminho/2/;;
"Potencia")mv $caminho/$email $caminho/4/;;
"Dispositivos")mv $caminho/$email $caminho/3/ ;;
"Energia")mv $caminho/$email $caminho/5/;;
"Engenharia")mv $caminho/$email $caminho/6/;;
esac





  


2. MELHOR RESPOSTA

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

Enviado em 17/05/2012 - 20:10h

Nos casos em que passei por isso era tudo relacionado a paths, pois no script vc pode ter algum arquivo em seu diretório corrente e quando vc insere no crontab ele não identificará. A sua variável NUM=`cat arqtemp2`, vc poderia inserir o caminho completo, por exemplo:
 NUM=`cat /caminho/da/pasta/arqtemp2`  
.
Faça isso para todas as suas variáveis que contém nome de arquivos, sempre deixe seus scripts desta forma, facilita bastante até para quem der suporte no mesmo.

3. Re: Problema ao chamar um Shell Script pelo Incontrab [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 17/05/2012 - 20:20h

Valew cara era exatamente esse o problema =p


4. Re: Problema ao chamar um Shell Script pelo Incontrab [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 17/05/2012 - 20:21h

Leia: http://www.vivaolinux.com.br/artigo/Incron-supervisionando-sistemas-de-arquivos/?pagina=1

caso não resolva, veja a questão das permissões no script e em qual incrontab foi criada a entrada,se foi na do root ou na do usuário que usa.

Veja a questão do do PATH também, seu script pode está em PATH diferente do que você recebe assim que loga.








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts