Problema com bash e crontab [duplicado]

2

Estou migrando alguns scripts de uma máquina mais antiga para uma máquina ec2 lúcida.
Eu estou sourcing um arquivo em nosso ~/.bashrc e definindo algumas variáveis de ambiente, mas essas variáveis não parecem ser acessíveis a partir de qualquer cron.
Mesmo que meu cron tenha um . /home/username/.bashrc && /path/to/script , o script não parece saber de nenhuma das variáveis de ambiente que estão em outro arquivo e são originadas em ~/.bashrc .

Todos esses scripts funcionam com sucesso quando eu os executo na linha de comando. Ao tentar executá-lo a partir de um crontab, no entanto, eles falham.

    
por Nigel 20.09.2011 / 14:00

1 resposta

2

Cada linha no seu cron será executada por um processo separado. Talvez você deva executá-los dentro de uma subcamada? %código%.

Além disso, seu .bashrc normalmente terá suposições sobre o fato de ser um shell de login (certas variáveis são assumidas e sua ausência pode fazer o script falhar). Por exemplo, seu .bashrc pode começar com esta linha, o que significa que nada do seu .bashrc entrará em vigor quando executado a partir do cron:

[ -z "$PS1" ] && return

Você pode tentar usar um script pequeno que apenas tenha configurações de variáveis.

    
por Noufal Ibrahim 20.09.2011 / 14:10