Як встановити скрипт init.d?


71

Я намагаюся встановити сценарій init.d, запустити селеру для завдань планування. Ось наступні кроки:

  • скопіював файл celeryd і вставив його в папку /etc/init.d/
  • створив файл конфігурації celeryd у папці / etc / default /

тепер, коли я намагався запустити це sudo /etc/init.d/celeryd start, він видає помилкуsudo: /etc/init.d/celeryd: command not found

Я гуглив про те, як встановити init.d, у мене з’явилося це SO-питання .

він говорить, щоб видати a, 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

тому я спробував встановити insserv sudo apt-get install insserv . але він говорить, встановлений aleady:

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

Отже, як встановити скрипт init.d ?? Будь-яка допомога буде вдячна.

update1:

коли я спробував:

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

це виявляє деякі errors. можливо, тому послуга не запуститься.

update2:

Я видалив усі помилки під час запуску, $ sh -x /etc/init.d/celeryd startале все-таки sudo /etc/init.d/celeryd startвидає command not foundпомилку


Зараз у мене немає часу на відповідь, але, якщо ви хочете, щоб це запускалося як частина вашого запуску, то я думаю, що вам доведеться додавати посилання на ваш скрипт у різні каталоги запуску, щоб Linux обробляв запуск і зупинку його для ви. (/etc/rc evidence0-6Sense.d) Цей процес поступово замінюється новим методом (я думаю, це називається на початку), але я зовсім не розглядав це. Посилання у вашій пошті стосується деяких із цього.
Джо

Відповіді:


55

Ваш celerydсценарій, ймовірно, не виконується, тому sudo /etc/init.d/celerydповертається command not found. Отже, спочатку потрібно зробити його виконуваним.

Для цього виконайте такі команди:

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

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

Як тільки це буде зроблено, я припускаю, що вам потрібно буде використовувати sudo /etc/init.d/celeryd startдля запуску демон.


70

Коли ви копіюєте скрипт на місце, не забудьте зробити його виконуваним та належить root:

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

Після того, як ви встановите це, ви можете встановити його для автоматичного запуску при завантаженні за допомогою:

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

Це вважатиметься найкращою відповіддю, причиною вказівки на це update-rc.d.
MAChitgarha

3

Якщо ви отримаєте 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


1

Це послідовність команд для автоматичного запуску демона під час завантаження:

sudo cd /etc/init.d
sudo chown root:root celeryd
sudo chmod 755 celeryd
sudo ln -s /usr/lib/insserv/insserv /sbin/insserv
sudo insserv celeryd
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.