Erro de lançamento do job Cron “service: not found [Nenhum arquivo ou diretório]” mas quando executado manualmente no script do terminal funciona bem

1

service jbossas status - > comando irá verificar o status do jbossas

O jbossas (PID) está em execução (se o jbossas estiver em execução)

jbossas é parado (se o jbossas for parado)

#!/bin/ksh
#set -x
OUT_LOG="$1"

stus=$(service jbossas status)

var=$(ps -ef | grep -i '[/]jboss')

hname=$(hostname)

if [ -z "$var" ]; then

echo "service jbossas status" >>$OUT_LOG

echo "$stus" >>$OUT_LOG

mail -s "Please check for possbile impact $(stus)" [email protected] << $OUT_LOG

else

echo "'$stus'"

fi

NOTA: O processo do JBOSS não está rodando no servidor, então oo / p será o jboss parado.

Se eu executar o script manualmente no shell (prompt cmd da tela balck)

./jboss_status.ksh

Estou recebendo o e-mail com o assunto e o script abaixo funcionando bem

"Por favor, verifique o possível impacto que o jbossas está parado"

mas quando eu agendar no cron

* * * * * /aaa/jboss_status.ksh > /aaa/jboss_status.ksh.error 2>&1

Estou recebendo o e-mail com o assunto abaixo "Por favor, verifique o possível impacto" NOTA: "jbossas está parado" não está sendo impresso no final do assunto

Ao obter erro abaixo no arquivo de erro criado pelo cron

/aaa/jboss_status.ksh[20]: service: not found [No such file or directory]

O script está executando bem no cron, mas a saída retornada pelo

command : service jbossas status 
op: jboss stopped 

não está sendo impresso no assunto

    
por star 19.11.2016 / 09:58

2 respostas

1

Você pode precisar criar seu bash_profile ou bash_rc no topo do seu script

no ubuntu

source /home/<user>/.bash_profile

alguns outros linuxes

source /home/<user>/.bash_rc
    
por 27.09.2017 / 23:55
0

Você verificou a variável PATH para o usuário que está executando o cron, ele deve ter o caminho para o script usado ou suas dependências. Compare os caminhos com:

echo $PATH 

sob o usuário que você executa o script manualmente, e com o usuário que executa o script no cron.

    
por 19.11.2016 / 10:25