O script de shell não está funcionando via cron job

2

Estou usando um script que está trabalhando sozinho e não está funcionando no cron job.

qexma1@test:bin> head -n 10 test.sh
#!/bin/bash
declare -r PATH='/sbin:/bin:/usr/sbin:/usr/bin'
source $AEM_CONFIG/aem-wrap.conf

Cron Job:

qexma1@test:bin> crontab -l | grep aem-test.sh
01 15 * * * bin/test.sh -b ; touch bin/crontest.txt;

Sinalizador:

qexma1@test:bin> ll bin/ | grep cron
-rw-r--r--  1 qexma1 abc   0 Nov 11 15:01 crontest.txt

O arquivo de sinalizador foi criado crontest.txt, mas o script não foi executado. Permissões 0755

    
por robotTech 11.11.2016 / 15:08

1 resposta

2

Como a saída para stderr é como abaixo, isso significa que a variável $AEM_CONFIG não está sendo configurada. É por isso que o trabalho falha.

/global/appaem/aem/bin/aem-test.sh: line 5: /aem-wrap.conf: No such file or directory

Para corrigir o problema, revise o script para pesquisar o arquivo relevante que define $AEM_CONFIG .

Ao apontar que a variável está definida em .bashrc, consulte cron ignora variáveis definidas em" .bashrc "e" .bash_profile ". Você precisa adicionar uma linha como source ~/.bashrc no seu script. Exemplo:

#!/bin/bash
declare -r PATH='/sbin:/bin:/usr/sbin:/usr/bin'
source ~/.bashrc
source $AEM_CONFIG/aem-wrap.conf
    
por 11.11.2016 / 15:24