Script não chama programa externo

1. Script não chama programa externo

Gabriel marinho
marinhocp2

(usa Linux Mint)

Enviado em 11/03/2015 - 16:28h

Olá a todos fiz um script que a cada 1 minuto é chamado pelo cron, nele eu verifico se meu sistema, sisCAT , está rodando, caso não uma screen será lançada com o sistema, quando eu executo o script com um ./ ele funciona normalmente, porem quando é chamado no cron, ou no rc.local ele não lança meu arquivo.
Já testei colocar o resultado do comando env do terminal dentro do script
Segue o código

#! /bin/bash
LOG_FILE=/home/pi/siscat/LogFile
case "$(pidof sisCAT | wc -w)" in

0) sudo screen -md -S sisCAT /home/pi/siscat/sisCAT
echo $(/bin/date)" sisCAT reinicializado">> $LOG_FILE
;;
1) echo $(/bin/date)" sisCAT ja rodando">> $LOG_FILE
# all ok
;;
esac


Essa verificação do pid funciona corretamente pois o arquivo de Log é preenchido normalmente.
Então, alguem consegue me dar uma luz?


  


2. Re: Script não chama programa externo

Paulo
paulo1205

(usa Ubuntu)

Enviado em 11/03/2015 - 18:10h

Investigue, no momento da invocação do script, quais variáveis de ambiente estão ativas, e com quais valores. É bem provável que você precise de algo, por exemplo, como algum diretório presente na variável PATH que está lá quando você loga na sua sessão, mas não quando ele é executado pelo init ou pelo cron.

EDIT: Outra coisa: Quando o comando passado ao screen tiver o caráter barra (“/”), é interessante você terminar explicitamente a lista de opções. Caso contrário, ele pode pensar que você está informando um caminho de socket em que ele deve conectar-se. Por exemplo,

screen -m -d /bin/bash 


vai dar erro, mas o seguinte vai funcionar.

screen -m -d -- /bin/bash 


Outra dica: para depurar mensagens resultantes da execução do cron, veja a caixa de e-mail do dono do job.


3. Re: Script não chama programa externo

Wagner Souza
wagnerfs

(usa Fedora)

Enviado em 12/03/2015 - 03:00h

Já tentou por o caminho completo na execução do cron? Você pode por o seu script em /usr/bin/script e chamá-lo no cron apenas como script.

_________________________
Wagner F. de Souza
Graduado em Redes de Computadores
"GNU/Linux for human beings."
LPI ID: LPI000297782







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts