Press "Enter" to skip to content

Linux中的chkconfig增加自己想要启动项

总有些需要自己配置启动项的,简单记录一下过程

#先写一个自己需要执行的软件或是其他要执行的事项,这里就拿同步系统时间作为例子
[root@localhost ~]# vim /root/syncDate.sh
#!/bin/bash
/usr/sbin/ntpdate cn.pool.ntp.org>/root/times.log
[root@localhost ~]# chmod +x /root/syncDate.sh

#开始写启动项文件kiccleaf
[root@localhost ~]# vim /etc/init.d/kiccleaf
#!/bin/bash
# chkconfig: 3 88 88
/bin/bash /root/syncDate.sh &>/dev/null 2&>/dev/null

注意:# chkconfig: 3 88 88 这一行很重要,如果不添加,
执行chkconfig –add kiccleaf 会提示失败

[root@localhost ~]# chkconfig --add kiccleaf
service kiccleaf does not support chkconfig
#以上是失败提醒,未增加# chkconfig: 3 88 88

#增加可执行权限
[root@localhost ~]# chmod +x /etc/init.d/kiccleaf

#添加到chkconfig,开机自启动
[root@localhost ~]# chkconfig --add kiccleaf
[root@localhost ~]# chkconfig --list kiccleaf

Note: This output shows SysV services only and does not include native
      systemd services. SysV configuration data might be overridden by native
      systemd configuration.

      If you want to list systemd services use 'systemctl list-unit-files'.
      To see services enabled on particular target use
      'systemctl list-dependencies [target]'.

kiccleaf        0:off   1:off   2:off   3:on    4:off   5:off   6:off
#重启系统,查看结果

[root@localhost ~]# cat /root/times.log
12 Jun 11:38:34 ntpdate[10221]: step time server 203.107.6.88 offset -28799.359688 sec
操作成功

#关闭开机启动

[root@localhost ~]# chkconfig kiccleaf off
[root@localhost ~]# chkconfig --list kiccleaf
kiccleaf        0:off   1:off   2:off   3:off   4:off   5:off   6:off

#从chkconfig管理中删除kiccleaf
[root@localhost ~]# chkconfig --del kiccleaf
#查看列表中是否还存在kiccleaf启动项,结果已经没有
[root@localhost ~]# chkconfig --list kiccleaf
service kiccleaf supports chkconfig, but is not referenced in any runlevel (run 'chkconfig --add kiccleaf')

关于chkconfig更多内容,可以参考:Linux下chkconfig命令详解