Как установить скрипт init.d?

Я пытаюсь установить скрипт init.d для запуска сельдерея для планирования задач.Вот шаги, которым я следовал:

  • скопировал файл селерид и вставил его в папку /etc/init.d/
  • создан конфигурационный файл селерид в папке /etc/по умолчанию/

теперь, когда я попытался начать его с sudo /etc/init.d/celeryd start, он выдает ошибку sudo: /etc/init.d/celeryd: command not found

Я погуглил о том, как установить init.d, и получил это ИТАК - вопрос.

в нем говорится о выдаче uname -a и когда я это сделаю, я получу это:

Linux capsonesystem8-desktop 3.2.0-43-generic-pae #68-Ubuntu SMP Wed May 15 03:55:10 UTC     2013 i686 i686 i386 GNU/Linux

а также в нем говорится, что используйте утилиты, такие как insserv чтобы включить сценарий init.d, я попытался:

insserv /etc/init.d/celeryd но это выдает ошибку insserv: command not found

поэтому я попытался установить инссерв sudo apt-get install insserv. но там написано, что алеади установлен:

insserv is already the newest version.0 upgraded, 0 newly installed, 0 to remove and 222 not upgraded.

Итак, как установить скрипт init.d?? Любая помощь будет оценена по достоинству.

обновление 1:

когда я пытался:

$ sh -x /etc/init.d/celeryd start

это раскрывает некоторые errors. возможно, именно поэтому служба не запускается.

обновление 2:

Я очистил все ошибки при запуске $ sh -x /etc/init.d/celeryd start но все же sudo /etc/init.d/celeryd start бросает command not found ошибка

Когда вы копируете скрипт на место, не забудьте сделать его исполняемым и принадлежащим root:

sudo chmod +x /etc/init.d/celerydsudo chown root:root /etc/init.d/celeryd

После того, как вы установили его, вы можете настроить его на автоматический запуск при загрузке с помощью:

sudo update-rc.d celeryd defaultssudo update-rc.d celeryd enable

Ваш celeryd сценарий, вероятно, не является исполняемым, вот почему sudo /etc/init.d/celeryd возвращается command not found. Итак, вам нужно сначала сделать его исполняемым.

Для этого выполните следующие команды:

sudo chmod 755 /etc/init.d/celerydsudo chown root:root /etc/init.d/celeryd

Первая строка изменяет разрешения на -rwxr-xr-x, а вторая строка гарантирует , что владелец и владелец группы файла являются root.

Как только это будет сделано, я предполагаю, что вам нужно будет использовать sudo /etc/init.d/celeryd start чтобы запустить демон.

Если вы получите command not found ошибка при запуске insserv, вы можете исправить это, выполнив следующую команду:

sudo ln -s /usr/lib/insserv/insserv /sbin/insserv

Тогда смотри insserv -h или man insserv за помощью.

Также вы можете попробовать с:

sudo update-rc.d celeryd defaults

Источник: https://askubuntu.com/a/334043/147044

Это последовательность команд для автозапуска вашего демона во время загрузки:

sudo cd /etc/init.dsudo chown root:root celerydsudo chmod 755 celerydsudo ln -s /usr/lib/insserv/insserv /sbin/insservsudo insserv celeryd

Сейчас у меня нет времени на ответ, но, если вы хотите, чтобы это запускалось как часть вашего запуска, тогда, я думаю, вам нужно добавить ссылки на ваш скрипт в различные каталоги уровня выполнения, чтобы Linux справился с его запуском и остановкой за вас. (/etc /rc[0-6].d) Этот процесс постепенно заменяется более новым методом (я думаю, он называется upstart.), но я вообще не изучал это. Ссылка в вашем сообщении касается некоторых из этих вопросов.

URL-адрес GitHub - это rot.