O Crontab não consegue encontrar o programa instalado na pasta bin do usuário local

2

Estou tentando executar um script bash em uma conta dreamhost que realiza algumas operações de backup. O programa que uso para fazer o backup é instalado no diretório inicial da conta de hospedagem na web em ~/usr/local/bin/ . Esse caminho é exportado nos meus arquivos .bashrc e .bash_profile . E quando eu executo o script na linha de comando do bash, tudo corre bem.

Quando, no entanto, eu instalo o script no crontab para o usuário usando o seguinte comando:

crontab -e -u <user>

O log do crontab reporta que o programa que eu usei para fazer o backup não pode ser encontrado. Eu verifiquei usando whoami e o crontab de fato está sendo executado como, então eu não tenho certeza porque ele é incapaz de localizar o binário do programa. Alguma idéia?

    
por fraxture 11.10.2014 / 16:10

1 resposta

1

O Dreamhost parece ter um ambiente de execução limitado especial para os crontab's. Reffering to esta página do dreamhosts wiki no ambiente de execução do crontab:

"Devido a preocupações de segurança, o DreamHost cron NÃO executa com um ambiente normal."

"A variável de ambiente PATH é simplesmente / usr / bin: / bin e o SHELL está definido como / bin / sh. Você deve especificar o caminho completo para todos os comandos que não estão no PATH padrão e sempre especificar o caminho completo para arquivos. "

(mais texto e exemplos existem no link da fonte, eu apenas copio / colei as frases mais relevantes.)

    
por 13.10.2014 / 14:45