Vraag Hoe installeer ik een init.d-script?


Ik probeer een init.d-script te installeren om selderij uit te voeren voor roosteringstaken. Dit zijn de stappen die ik heb gevolgd:

  • heeft het bestand gekopieerd celeryd en geplakt in map /etc/init.d/
  • creëerde een configuratiebestand celeryd in map / Etc / default /

nu toen ik probeerde om het te starten sudo /etc/init.d/celeryd start, het gooit fout sudo: /etc/init.d/celeryd: command not found

Ik heb gegoogled over het installeren van init.d, ik heb dit SO-vraag.

het zegt om een ​​uit te geven uname -a en wanneer ik dit krijgt, krijg ik dit:

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

en ook zegt het gebruik util zoals insserv om init.d-script in te schakelen dus probeerde:

insserv /etc/init.d/celeryd maar het gooit een fout insserv: command not found

dus ik probeerde het te installeren insserv  sudo apt-get install insserv. maar het zegt aleady geïnstalleerd:

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

Dus hoe init.d script ?? te installeren? Alle hulp wordt op prijs gesteld.

update1:

toen ik het probeerde:

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

het onthult wat errors. misschien is dat de reden waarom de service niet start.

Update2:

Ik heb alle fouten gewist toen ik wegliep $ sh -x /etc/init.d/celeryd start maar nog steeds sudo /etc/init.d/celeryd start worpen command not found fout


66
2017-08-21 06:48


oorsprong


Ik heb nu geen tijd voor een antwoord, maar als je wilt dat dit wordt uitgevoerd als onderdeel van je startup, dan denk ik dat je links naar je script moet toevoegen in de verschillende runlevel-mappen, zodat Linux het starten en stoppen voor Linux zal afhandelen u. (/etc/rc[0-6].d) Dit proces wordt geleidelijk vervangen door een nieuwere methode (ik denk dat het upstart wordt genoemd), maar daar heb ik helemaal niet naar gekeken. De link in je post adresseert een deel hiervan. - Joe


antwoorden:


Jouw celeryd script is waarschijnlijk niet uitvoerbaar, daarom sudo /etc/init.d/celeryd komt terug command not found. Dus je moet het eerst uitvoerbaar maken.

Hiertoe voert u de volgende opdrachten uit:

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

De eerste regel wijzigt de machtigingen naar -rwxr-xr-x, en de tweede regel zorgt ervoor dat de eigenaar en groepseigenaar van het bestand is root.

Zodra dit is gebeurd, neem ik aan dat je het moet gebruiken sudo /etc/init.d/celeryd start om de daemon te starten.


53
2017-08-21 07:18





Wanneer u het script op zijn plaats kopieert, vergeet dan niet om het uitvoerbaar te maken en eigendom te zijn van root:

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

Als je dat eenmaal hebt geïnstalleerd, kun je het instellen om automatisch te starten bij het opstarten met:

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

65
2017-08-21 07:18



Dit zou worden beschouwd als het beste antwoord, oorzaak van wijzen update-rc.d. - MAChitgarha


Als je de command not found fout bij het uitvoeren insserv, u kunt dit probleem oplossen door de volgende opdracht uit te voeren:

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

Zie dan insserv -h of man insserv voor hulp.

Ook kunt u proberen met:

sudo update-rc.d celeryd defaults

Bron: https://askubuntu.com/a/334043/147044 


3
2017-08-21 07:18





Dit is een opdrachtreeks om je daemon automatisch op te starten tijdens het opstarten:

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

1
2017-10-28 03:30