Script de inicialização não está sendo executado do PWD

0

Instalei o gunicorn webserver e criei o script gunicorn virtualenv init.d mas quando eu executo service gunicorn start service do diretório do meu projeto ele funciona bem, mas quando meu diretório de trabalho atual mudou como / root ou outro diretório ele me deu erro . Eu editei o script init e adicionei o seguinte comando no início desse script. O script cd /root/demoproject/ é executado a partir de qualquer diretório de trabalho. O que mais será a solução real que adiciona o comando cd /root/demoproject/ no script de inicialização?

    
por blaCkninJa 27.06.2018 / 09:56

1 resposta

0

Não há nada de errado em deixar o script alterar seu diretório de trabalho, se ele precisar ser executado com um diretório de trabalho específico (devido a ele usando caminhos relativos ou o que ele faz).

A única coisa que alguém pode querer fazer é sair com um status de saída diferente de zero se o cd falhar:

cd /root/demoproject || exit 1

Você também pode alterar o diretório no script, dependendo do valor de uma variável de ambiente:

cd "${MY_WORK_DIR:-/root/demoproject}" || exit 1

Isso mudaria o diretório de trabalho para o diretório fornecido por MY_WORK_DIR , mas seria o padrão para /root/demoproject se essa variável estiver vazia ou não definida.

    
por 27.06.2018 / 10:00