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

60

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

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

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

Я googled о том, как установить init.d, я получил это SO-вопрос .

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

, а также использует utils как 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 throws command not found error

    
задан suhailvs 21.08.2013 в 08:48
источник

4 ответа

48

Скрипт 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 для запуска демона.

    
ответ дан Alaa Ali 21.08.2013 в 09:18
источник
59

Когда вы копируете скрипт на место, не забудьте сделать его исполняемым и принадлежащим 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
    
ответ дан David Purdue 21.08.2013 в 09:18
3

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

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

Затем см. insserv -h или man insserv для справки.

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

sudo update-rc.d celeryd defaults

Источник: Ссылка

    
ответ дан Radu Rădeanu 21.08.2013 в 09:18
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
    
ответ дан Oleg Bondar' 28.10.2013 в 04:30