Script nao funciona agendado no crontab -e mas funciona se executado manualmente... [RESOLVIDO]

1. Script nao funciona agendado no crontab -e mas funciona se executado manualmente... [RESOLVIDO]

João Paulo de Vasconcelos Resende
jpvr2005

(usa Debian)

Enviado em 31/08/2012 - 14:15h

Boa tarde pessoal,
Bom, estou tendo dificuldades em agendar um script que criei chamado makeip.sh no crontab.
Minha situação é a seguinte:
criei um diretório /home/testip/
dentro desse diretorio, deixei o meu script makeip.sh la dentro
o makeip.sh é formado por apenas 2 linhas:
#!/bin/sh
ifconfig ppp0 > /home/testip/ip.txt

o problema.. é que se eu executar o script manualmente, ele me tras as informações de do ifconfig para o arquivo ip.txt (da forma q eu quero), mas quando eu coloco o cron para executalo (usando crontab -e) ele cria o arquivo, porém o cria sem nenhuma informação.
Estou usando a seguinte linha no crontab -e:
30 12 * * 1-5 nohup sh /home/testip/makeip.sh &

Já tentei tbem sem o nohup e sem o &, mas tbem nao deu.
Tentei também colocando o usuario root antes do diretorio e tbem nao deu.
O estranho, é que abaixo dessa linha do crontab eu tenho uma outra assim:
31 12 * * 1-5 sh /home/testip/sendIp.sh

E esse ultimo, é executado normalmente.
Alguém tem alguma ideia do que pode ser?


Desde já agradeço a todos! :)


  


2. MELHOR RESPOSTA

William Amaral de Souza
Williamm

(usa Linux Mint)

Enviado em 04/09/2012 - 21:06h

Pronto. coloca assim no script que vai funciona


#!/bin/bash
/sbin/ifconfig ppp0 > /home/testip/ip.txt


e na crontab pode coloca normal


30 12 * * 1-5 /home/testip/makeip.sh


3. Re: Script nao funciona agendado no crontab -e mas funciona se executado manualmente... [RESOLVIDO]

William Amaral de Souza
Williamm

(usa Linux Mint)

Enviado em 31/08/2012 - 19:42h

30 12 * * 1-5 /home/testip/makeip.sh >> /home/testip/makeip.txt


Testa assim na crontab.


4. Re: Script nao funciona agendado no crontab -e mas funciona se executado manualmente... [RESOLVIDO]

João Paulo de Vasconcelos Resende
jpvr2005

(usa Debian)

Enviado em 01/09/2012 - 14:14h

Olá amigo, na segunda cedo vou testar e posto aqui o resultado!
Valeu!!!


5. Re: Script nao funciona agendado no crontab -e mas funciona se executado manualmente... [RESOLVIDO]

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 01/09/2012 - 14:25h

think linux escreveu:

30 12 * * 1-5 /home/testip/makeip.sh >> /home/testip/makeip.txt


Testa assim na crontab.



Sim acho que dessa maneira vai funcionar mas precisa dar permissão para executar o arquivo :

chmod +x /home/testip/makeip.sh



6. Re: Script nao funciona agendado no crontab -e mas funciona se executado manualmente... [RESOLVIDO]

João Paulo de Vasconcelos Resende
jpvr2005

(usa Debian)

Enviado em 01/09/2012 - 14:49h

Oi andré, ja dei permissão nesse arquivo para execução tbem, segunda vou testar o q foi falado no segundo post aqui e aviso o resultado aki!


Valeu moçada!


7. Re: Script nao funciona agendado no crontab -e mas funciona se executado manualmente... [RESOLVIDO]

William Amaral de Souza
Williamm

(usa Linux Mint)

Enviado em 01/09/2012 - 15:28h

Se optar por nao criar nenhum arquivo de saida coloque
ao inves de
30 12 * * 1-5 /home/testip/makeip.sh >> /home/testip/makeip.txt

coloque

30 12 * * 1-5 /home/testip/makeip.sh >> /dev/null


8. Ainda não deu certo...

João Paulo de Vasconcelos Resende
jpvr2005

(usa Debian)

Enviado em 03/09/2012 - 09:11h

Bom dia pessoal,
Testei aqui as formas que vcs me sugeriram, mas ainda nao deu certo.
Tentei assim:

55 08 * * 1-5 /home/testip/makeip.sh >> /home/testip/makeip.txt
55 08 * * 1-5 /home/testip/makeip.sh > /home/testip/makeip.txt

55 8 * * 1-5 /home/testip/makeip.sh >> /home/testip/makeip.txt
55 8 * * 1-5 /home/testip/makeip.sh > /home/testip/makeip.txt

55 8 * * 1-5 sh /home/testip/makeip.sh >> /home/testip/makeip.txt
55 8 * * 1-5 sh /home/testip/makeip.sh > /home/testip/makeip.txt


E nenhuma dessas formas funcionaram, o arquivo já está com permissão para execução e mesmo assim não funciona.

Quando executo a linha manualmente, funciona perfeitamente.
Alguém tem mais alguma idéia?

Valeu galera!





9. Re: Script nao funciona agendado no crontab -e mas funciona se executado manualmente... [RESOLVIDO]

William Amaral de Souza
Williamm

(usa Linux Mint)

Enviado em 03/09/2012 - 17:50h

aparece que mensagem na saida do arquivo >> /home/testip/makeip.txt

posta o que aparece.

e tenta colocar isso no inicio da crontab


MAILTO=teuemail@teuprovedor.com
55 8 * * 1-5 /home/testip/makeip.sh

sera enviado um email do log de erro da crontab pro teu email.

Podes tbm colocar para executar minuto a minuto para testar.



10. Re: Script nao funciona agendado no crontab -e mas funciona se executado manualmente... [RESOLVIDO]

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 03/09/2012 - 21:20h

Acho que sei onde esta o erro tive o mesmo problema com o iptables. Coloque o caminho completo do executável ifconfig:

/sbin/ifconfig ppp0 > /home/testip/ip.txt


Ou ainda trocar o #!/bin/sh por #!/bin/bash


11. Re: Script nao funciona agendado no crontab -e mas funciona se executado manualmente... [RESOLVIDO]

João Paulo de Vasconcelos Resende
jpvr2005

(usa Debian)

Enviado em 04/09/2012 - 08:12h

think linux escreveu:

aparece que mensagem na saida do arquivo >> /home/testip/makeip.txt

posta o que aparece.

e tenta colocar isso no inicio da crontab


MAILTO=teuemail@teuprovedor.com
55 8 * * 1-5 /home/testip/makeip.sh

sera enviado um email do log de erro da crontab pro teu email.

Podes tbm colocar para executar minuto a minuto para testar.


think, obrigado pela ajuda, mas o log não é gerado também, parece q o crontab nao está nem tentando executar essa linha :/


12. Re: Script nao funciona agendado no crontab -e mas funciona se executado manualmente... [RESOLVIDO]

João Paulo de Vasconcelos Resende
jpvr2005

(usa Debian)

Enviado em 04/09/2012 - 08:14h

andrecanhadas escreveu:

Acho que sei onde esta o erro tive o mesmo problema com o iptables. Coloque o caminho completo do executável ifconfig:

/sbin/ifconfig ppp0 > /home/testip/ip.txt

Ou ainda trocar o #!/bin/sh por #!/bin/bash




André, fiz a alteração e também não deu certo. Como disse no post acima, nem mesmo o log está sendo gerado. O crontab tem algum log que fica no sistema para verificar? Valeu pela ajuda...



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts