让脚本可以加入到chkconfig实现开机自启动的办法
在工作中,有很多自己创建的脚本需要每次开机都能自动启动,除了把启动命令写在rc.local等文件中让其开机自动执行,还可以在创建脚本时写入一些东西,让chkconfig能自动把其加到开机启动项里,通过系统自带的sshd脚本来看看如何实现
上图是一个系统自带的sshd启动脚本,通过这个脚本学习下如何编写一个可以加入到chkconfig自启动的脚本。
说明:
1、第一行的#!/bin/bash是定义脚本前的shebang机制,告知系统要用什么解析器执行该脚本
2、重点在chkconfig这行
chkconfig: 2345 55 25
chkconfig可以管理程序开机是否自启动、在哪些模式下启动,如果将2345改为-,则代表所有模式都不开机启动。
其后的55和25分别是系统启动时对每个服务启动和关闭的顺序。因为系统的服务是有依赖的,比如说sshd服务,需要网络服务,如果在网络服务还没有启动起来的时候就启动sshd服务,那肯定会导致sshd服务启动不起来,同样,在关机时候如果先关掉网络服务,sshd将会因为网络的中断而导致未知错误,因此要定义服务启动顺序。在自定义脚本时候,尽量将第一个数写大,第二个数写小,这样在保证所有其他服务开启后,启动我们自定义的脚本,关机时候我们自定义的服务先关掉后再关掉其他服务。
3、description行是描述信息。
下面来看看sshd启动脚本的头部信息
#!/bin/bash # # sshd Start up the OpenSSH server daemon # # chkconfig: 2345 55 25 # description: SSH is a protocol for secure remote shell access. \ # This service starts up the OpenSSH server daemon. # # processname: sshd # config: /etc/ssh/ssh_host_key # config: /etc/ssh/ssh_host_key.pub # config: /etc/ssh/ssh_random_seed # config: /etc/ssh/sshd_config # pidfile: /var/run/sshd.pid ### BEGIN INIT INFO # Provides: sshd # Required-Start: $local_fs $network $syslog # Required-Stop: $local_fs $syslog # Should-Start: $syslog # Should-Stop: $network $syslog # Default-Start: 2 3 4 5 #这里就是要启动的级别 # Default-Stop: 0 1 6 # Short-Description: Start up the OpenSSH server daemon # Description: SSH is a protocol for secure remote shell access. # This service starts up the OpenSSH server daemon. ### END INIT INFO
设置完毕后使用chkconfig命令即可对该脚本进行启动设置了
版权声明:本文章版权归数据库运维网(www.ywdba.cn)所有。如需引用本站内容,请注明来源及作者。
评论