Я добавил новый скрипт для /etc/init/
named, minecraft.conf
который содержит скрипт:
start on startup
stop on shutdown
respawn
respawn limit 20 5
script
export HOME="/root"
exec /root/minecraft/start.sh 2>&1 >> /var/log/minecraft.log
end script
post-start script
echo "minecraft started"
Когда я пытаюсь start minecraft
получить сообщение об ошибке:start: Unknown job: minecraft
Я пробовал бежать, initctl list
и моя работа в Minecraft не указана. Я пытался бежать, initctl reload-configuration
и это не имеет никакого значения.
Другие перечисленные задания initctl list
работают нормально с запуском, остановкой и перезапуском.
Почему выскочка не увидит мой новый скрипт?
/etc/init.d/
?/etc/init
и теперь вы готовы к перезагрузке и использованию upstart».sudo start minecraft
без проблем. Вот содержимое файла журнала.~$ sudo cat /var/log/upstart/minecraft.log minecraft started /proc/self/fd/9: 3: exec: /root/minecraft/start.sh: not found minecraft started
Можете ли вы предоставить более подробную информацию о используемой версии Ubuntu и любую полезную информацию из системного журнала?Ответы:
Проверьте журналы upstart (это в
/var/log/syslog
), перезагружая конфигурацию, используяinitctl reload-configuration
. Если есть синтаксическая ошибка, она появится там. Именно поэтому вы не можете использовать новую конфигурацию выскочки.источник
Простой способ проверить синтаксис скрипта с помощью следующей команды:
Я обнаружил, что даже с действительным файлом Upstart, если этот файл не существовал, когда сервер загружался в последний раз, мне нужно перезагрузить сервер, чтобы Upstart увидел файл.
источник
Я чувствую себя немного глупо ... Но вот оно:
Я пропустил строфу "конец сценария" с самого конца сценария выскочки ...
должно было
Я не уверен, почему это работает для @schkovich без
end script
, хотя ...источник
В моем случае это было пустое
author
поле, например:Работало только после добавления чего-то в кавычки.
также бросал
/etc/init/servicename.conf:2: Expected token
в системный журнал вместо стандартного вывода . Слишком занят, чтобы подать отчет об ошибке для умирающего пакета.источник
Возможно, это не относится конкретно к этому, но стоит упомянуть: если вы редактируете файл конфигурации Upstart для работающей службы, при запуске
restart
НЕ перезагружается конфигурация. Вы должны бежатьstop
иstart
чтобы новые изменения вступили в силу.http://upstart.ubuntu.com/cookbook/#restart
источник