chkconfig

chkconfig --list可查看哪些服务是否已设置了开机启动

 

[root@CentOS-3 ~]# chkconfig --list

auditd          0:off   1:off   2:on    3:on    4:on    5:on    6:off

cgconfig        0:off   1:off   2:off   3:off   4:off   5:off   6:off

意为某服务在某运行级别下是否开机时开启,on表示开启,off表示不开启。

 

chkconfig mysqld off #所有运行级别下mysqld开机不启动

chkconfig 345 mysqld on #345运行级别下mysqld开机启动

私人脚本:

某些自己安装的服务如zabbix,不能用chkconfig添加(实际上是有办法的,未研究)就需要使用到/etc/rcN.d或者/etc/rc.local了。

 

  1. ln -s /etc/init.d/zabbix_server_ctl ./S77zabbix_server 
  2. 把所需要启动服务的绝对路径做一个软链接,链接到/etc/rcN.d/(N表示运行级别0123456),名字改为SNNname或者KNNname。SNN表示为开机start,KNN表示关机kill。NN只是/etc/rcN.d/里先运行哪个服务。 

 

 

主定义脚本:

  1. #!/bin/bash 
  2.  
  3. case "$1" in 
  4.  
  5. start) 
  6. echo "starting some service ..." 
  7. ;; 
  8.  
  9. stop) 
  10. echo "stopping some service ...." 
  11. ;; 
  12.  
  13. esac 
  14.  
  15. exit 0 

想要做的动作替换这句echo "starting some service ..."  便可以了。

更简单的做法:

在/etc/rc.local里添加执行语句(不需要 & 放在后台),如

 

/etc/init.d/zabbix_server_ctl start 

/etc/init.d/zabbix_agentd_ctl start

如果想要在用户登录以后才开启,可以用户家目录里编辑.bashrc_profile文件,后面加上想到执行的语句。