o cron não está funcionando com os comandos ligados simbolicamente no PATH personalizado

0

Eu tenho um script job.sh em /home/user/scripts , que é então vinculado a /home/user/bin/job . O caminho dos binários personalizados foi incluído em .bashrc , então sempre que eu emitir o comando job param1 etc da CLI, tudo funcionará como esperado.

Quando o comando tem que ser executado através de um cronjob, ele não funciona. Por outro lado, se o cronjob fizer referência ao caminho completo ( /home/user/bin/job em vez de simplesmente job ), tudo correrá bem.

Qualquer ponteiro sobre como resolver esse problema?

    
por nxet 26.04.2016 / 16:19

1 resposta

1

cron é executado intencionalmente com um ambiente limitado (incluindo um caminho restrito, não possui o mesmo caminho que o shell padrão).

Você precisa executar um script (incluindo o caminho completo para o script), que define uma variável de caminho internamente ou precisa definir o caminho na própria linha crontab .

Um exemplo disso é

12 0 * * * (export PATH=$PATH:/somedirectory; job)

Realmente, é mais seguro incluir apenas o caminho completo para o que estiver executando no crontab e definir o caminho corretamente nos scripts que o cron executa.

    
por 26.04.2016 / 16:31