Сделайте, чтобы выскочка считала среду из/etc/environment для сервиса

Определенно похоже, что на Вашу дисковую подсистему нужно, по крайней мере, посмотреть как часть проблемы. Из-за пути постфикс переставляет файлы вокруг / var, я предложил бы гуглить для "тонкой настройки ext3 файловую систему" (по крайней мере, устанавливающий noatime и обратную запись), чтобы видеть, не можете ли Вы повысить производительность на уровне файловой системы.

У меня есть два кластера серверов, которые удваивают обязанность DNS и исходящий SMTP для предназначенной клиентами электронной почты и не выполняют сообщения 250k ежедневно (2k-10k/hour) с никуда около такого ввода-вывода bindup.

17
задан 26 August 2015 в 23:51
3 ответа

Я наконец надел ответ #upstart Канал IRC. В какой-то момент выскочка будет получать надлежащую поддержку PAM и таким образом читать /etc/environment самостоятельно. До тех пор прием должен выполнить команду с su. su использование PAM и настроит надлежащую среду. Пример:

script 
    exec su root -c /usr/sbin/job_needing_envs
end script
16
ответ дан 2 December 2019 в 20:32

Добавьте это к своему сценарию:

. /etc/environment
export VAR1 VAR2 VAR3

где переменные, в которых Вы нуждаетесь, указаны вместо заполнителей стиля "VAR1".

1
ответ дан 2 December 2019 в 20:32
  • 1
    Тем путем я должен вручную сохранить новомодную конфигурацию и/etc/environment в синхронизации, которая является (по-моему), не немного лучше, чем определение переменных дважды... –  Nikratio 2 April 2010 в 19:17
  • 2
    Я wouldn' t использование /etc/environment для определения всех необходимых переменных. Отпуск, что как статический файл. В моей системе я мог только найти несколько сценариев, которые используют ее так или иначе. Создайте файл, назвал что-то как /etc/environment.local и поместил Ваши переменные и экспорт там и источник тот файл. Затем только необходимо поддержать что один файл. –  Paused until further notice. 2 April 2010 в 20:03
  • 3
    /etc/environment читается pam_env.so (а не любыми сценариями), таким образом, это доступно для любого входа в систему. Только программы, запущенные выскочкой don' t имеют доступ к тому файлу defaulht, к сожалению. –  Nikratio 5 April 2010 в 16:23

Я обычно использую eval $ (cat / etc / environment | sed 's / ^ / export /' )

Он берет каждую строку в / etc / environment , добавляет в начало export и оценивает его:

script
exec /bin/bash <<'EOT'
  eval $(cat /etc/environment | sed 's/^/export /')
  do_what_you_need_to
EOT
end script
3
ответ дан 2 December 2019 в 20:32

Теги

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