I put one script in /etc/init.d/abc.sh
. Now I want it to run at startup.
How can I do that with chkconfig?
chkconfig --add abc.sh
But I am not sure how it works.
Scripts which run on startup are not said to be a script — if you want the script to be executed at startup, change the following in /etc/crontab
:
@reboot /path/to/script
ERROR (getpwnam() failed)
: add the user running the script. E.g. @reboot root /path/to/script
Jul 13, 2023 at 8:30
I often just use
/etc/rc.local
So, like...
echo "/etc/init.d/abc.sh" >> /etc/rc.local
should hack it for ya. There are probably more proper places, but whatever, it works, on most distros it seems.
/etc/rc.local
contains the following warning message: ``` # THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES # # It is highly advisable to create own systemd services or udev rules # to run scripts during boot instead of using this file. # # In contrast to previous versions due to parallel execution during boot # this script will NOT be run after all other services. # # Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure # that this script will be executed during boot. ``` I think there must be a better place to run abc.sh
.
Have a look at other, existing init-scripts. In every proper rh-style init-script there are three hints: the runlevels, where the script should be started and the priority at which it should be started/stopped. The sum of start+stop should be normally 100.
This comment-line is evaluated by chkconfig.
You can't unless you read /usr/share/doc/initscripts-*/sysvinitfiles
and structure your script accordingly.
You are on the right track. Your bash script is in the right location and you have added it to your chkconfig, which means your script is installed.
Please note that /etc/init.d
is a symbolic link to /etc/rc.d/init.d
After adding your script, you need to select which runlevel you want to activate it on: chkconfig --level 35 abc on
will activate your script on runlevels 3 and 5, your most common startups.
Please consult chkconfig --help
for more info.
PS. you can also use ntsysv
which is a tui for chkconfig.