Переменные среды настроек супервизора и получение Ошибки: Неожиданный конец пар ключ/значение

Люди,

Я пытаюсь переместить что-то в контейнер докера, что означает сдвиг от выполнения его как демон в одинокий процесс, которым управляет supervisord. Теперь у меня нет большого опыта с supervisord, таким образом, это вероятно простая ошибка конфигурации с моей стороны.

Проблема происходит, от которого для этого приложения нужен определенный набор переменных среды. При выполнении как демон я установил их с помощью сценария удара

#!/bin/bash
ORACLE_HOME=/home/oracle/app/
TNS_ADMIN=/home/oracle/app/network/admin
export ORACLE_HOME TNS_ADMIN
export LD_LIBRARY_PATH=$PATH:/home/oracle/app/lib
ncftpd_authd

В supervisord.conf я настроил его как

[program:authd]
environment=ORACLE_HOME="/home/oracle/app/",TNS_ADMIN="/home/oracle/app/network/admin",export ORACLE_HOME TNS_ADMIN,export LD_LIBRARY_PATH="$PATH:/home/oracle/app/lib"
command=/usr/local/sbin/ncftpd_authd
stdout_events_enabled=true
stderr_events_enabled=true

Однако, если я называю supervisord-c/etc/supervisord.conf, я получаю ошибку

[root@0d7f9a5d7c3a src]# supervisord -c /etc/supervisord.conf 
Error: Unexpected end of key/value pairs

Я полагаю, что это связано со строкой среды, как будто я комментирую это, supervisord запустится (но authd не будет работать). Что я делаю неправильно в установке среды в supervisord conf файл?

3
задан 5 August 2015 в 04:39
1 ответ

окружение должно быть списком пар ключ / значение, что означает, что он не должен содержать экспорт . Правильное значение будет:

environment=ORACLE_HOME="/home/oracle/app/",TNS_ADMIN="/home/oracle/app/network/admin",LD_LIBRARY_PATH="$PATH:/home/oracle/app/lib"

Вам также может потребоваться заменить $ PATH его значением. Или вы можете следовать стандарту записи переменных извне в http://supervisord.org/configuration.html?highlight=environment . Короче говоря, чтобы использовать $ PATH , просто напишите % (ENV_PATH) s . Тогда это будет примерно так:

environment=ORACLE_HOME="/home/oracle/app/",TNS_ADMIN="/home/oracle/app/network/admin",LD_LIBRARY_PATH="%(ENV_PATH)s:/home/oracle/app/lib"
2
ответ дан 3 December 2019 в 06:59

Теги

Похожие вопросы