How to install an init.d script?
Solution 1
Your celeryd
script is probably not executable, that's why sudo /etc/init.d/celeryd
is returning command not found
. So, you need to first make it executable.
To do so, run the following commands:
sudo chmod 755 /etc/init.d/celeryd
sudo chown root:root /etc/init.d/celeryd
The first line changes the permissions to -rwxr-xr-x
, and the second line ensures that the owner and group owner of the file is root
.
Once this is done, I assume you will need to use sudo /etc/init.d/celeryd start
to start the daemon.
Solution 2
When you copy the script into place, don't forget to make it executable and owned by root:
sudo chmod +x /etc/init.d/celeryd
sudo chown root:root /etc/init.d/celeryd
Once you have installed that, you can set it to start automatically on boot with:
sudo update-rc.d celeryd defaults
sudo update-rc.d celeryd enable
Solution 3
If you get the command not found
error when you run insserv
, you may fix it by running the following command:
sudo ln -s /usr/lib/insserv/insserv /sbin/insserv
Then see insserv -h
or man insserv
for help.
Also you can try with:
sudo update-rc.d celeryd defaults
Source: https://askubuntu.com/a/334043/147044
Solution 4
This is command sequence to autostart your daemon at boot time:
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
Related videos on Youtube
suhailvs
Updated on September 18, 2022Comments
-
suhailvs over 1 year
I am trying to install an init.d script, to run celery for scheduling tasks. Here is the steps I followed:
- copied the file celeryd and pasted it in folder /etc/init.d/
- created a configuration file celeryd in folder /etc/default/
now when I tried to start it by
sudo /etc/init.d/celeryd start
, it throws errorsudo: /etc/init.d/celeryd: command not found
I googled about how to install init.d, I got this SO-question.
it says to issue a
uname -a
and when I does I get this: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
and also it says use utils like
insserv
to enable init.d script so tried:insserv /etc/init.d/celeryd
but it throws errorinsserv: command not found
so I tried to install insserv
sudo apt-get install insserv
. but it say aleady installed:insserv is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 222 not upgraded.
So how to install init.d script?? Any help will be appreciated.
update1:
when I tried:
$ sh -x /etc/init.d/celeryd start
it reveal some
errors
. may be that is why the service won’t start.update2:
I cleared all the errors when I run
$ sh -x /etc/init.d/celeryd start
but stillsudo /etc/init.d/celeryd start
throwscommand not found
error-
Joe over 10 yearsI don't have time for an answer now, but, if you want this to run as part of your startup, then I think you have to add links to your script in the various runlevel directories so Linux will handle starting and stopping it for you. (/etc/rc[0-6].d) This process is gradually being replaced by a newer method (I think it's called upstart.), but I haven't looked into that at all. The link in your post addresses some of this.
-
Valerio Bozz almost 4 yearsThe GitHub URL is rot.
-
MAChitgarha over 5 yearsThis would be considered as the best answer, cause of pointing to
update-rc.d
.