要将一个服务变成自动启动的服务,可以利用chkconfig命令来完成。具体来说可以通过以下几个步骤实现:
例如要将httpd服务配置成开机即自启动的服务,可以在/etc/rc.d/init.d增加apache的启动脚步(起文件名apache):
#!/bin/sh
# description: Apache auto start-stop script.
#chkconfig: 2345 20 80
APACHE_HOME=/home/psd/local/apache/
APACHE_OWNER=psd
if [ ! -f $APACHE_HOME/bin/apachectl ]
then
echo " there is no apache ctrl please check it !"
exit
fi
case $1 in
'start')
su - $APACHE_OWNER -c "$APACHE_HOME/bin/apachectl start"
;;
'stop')
su - $APACHE_OWNER -c "$APACHE_HOME/bin/apachectl stop"
;;
'restart')
su - $APACHE_OWNER -c "$APACHE_HOME/bin/apachectl restart"
;;
esac
然后
chmod 755 apache
chkconfig --add apache
便可将apache服务增加到自启动列表中,可以通过chkconfig --list查看到服务列表中如果有apache服务,则你的配置成功。
有一个需要注意的地方:
“apache”脚步中一定需要有至少两行以上的注释,其中一行是
#chkconfig: 2345 20 80
2345表示系统运行级别是2,3,4或者5时都启动此服务,20,是启动的优先级,80是关闭的优先级,如果启动优先级配置的数太小时如0时,则有可能启动不成功,因为此时可能其依赖的网络服务还没有启动,从而导致自启动失败。