Я установил upstart в системе Debian 7.8, но в последний раз я проверял, что это не работает и в системе Ubuntu 11. Я выполняю свою работу с использованием sudo, но хотел бы сделать это правильно, если это возможно. вот мой файл .conf:

start on stopped RUNLEVEL=[2345]
stop on runlevel [!2345]
setuid newuser
respawn
pre-start exec logger "pre-start JOB $JOB in HOME $HOME"
script
 logger "start JOB $JOB in HOME $HOME"
 echo "DEBUG start: `env`" >> /tmp/$JOB_env.log
 timeout 360m $HOME/scripts/$JOB.py \
  >/tmp/$JOB.log 2>&1 || mail -s "error in $JOB.conf" \
  me@my.com < /tmp/$JOB.log
end script
post-stop exec sleep 60

регистратор звонков завершен и выдает:

Mar  7 15:56:13 vps39987 logger: pre-start JOB  in HOME 
Mar  7 15:56:13 vps39987 logger: start JOB  in HOME

/tmp не содержит * _env.log, а /var /log /upstart / не содержит файла для $ JOB.

Я получаю письма с ошибкой темы error in .conf содержащие timeout: failed to run command '/scripts/.py': No such file or directory

есть идеи? Я в тупике.

[примечание: я закомментировал строку setuid и до сих пор не радуюсь]

1 ответ1

0

хотя я до сих пор не знаю, почему $JOB не расширяется, я нашел с помощью for line in $(env); do logger env $line; done в строфе script $UPSTART_JOB создается. Я решил пропущенную переменную $ HOME другим способом, специфичным для настройки моего клиента.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .