CentOS 开机启动自定义脚本详解及实现
CentOS 开机启动自定义脚本
有些时候我们需要在服务器里设置一个脚本,让他一开机就自己启动。方法如下:
cd /etc/init.d vi youshell.sh #将youshell.sh修改为你自己的脚本名
编写自己的脚本后保存退出。
在编写脚本的时候,请先加入以***释
#add for chkconfig #chkconfig: #description: #关于脚本的简短描述 #processname: #第一个进程名,后边设置自启动的时候会用到
说明:
2345是指脚本的运行级别,即在2345这4种模式下都可以运行,234都是文本界面,5就是图形界面X
70是指脚本将来的启动顺序号,如果别的程序的启动顺序号比70小(比如44、45),则脚本需要等这些程序都启动以后才启动。
30是指系统关闭时,脚本的停止顺序号。
给脚本添加上可执行权限:
chmod +x youshell.sh
利用chkconfig命令将脚本设置为自启动
chkconfig --add servicename
这样你的脚本就可以在开机后自动运行了。
另外,在redhat里也可以使用这个方法来实现开机自启动。
chkconfig的使用方法
chkconfig(check config)
功能说明:检查,设置系统的各种服务。
语 法:chkconfig
[--add][--del][--list][系统服务]或chkconfig[--level<等级代号>][系统服务][on/off/reset]
补充说明:这是RedHat公司遵循GPL规则所开发的程序,它可查询操作系统在每一个执行等级中会执行哪些系统服务,其中包括各类常驻服务。
参数:
–add 增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。
–del 删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据。
–level<等级代号> 指定读系统服务要在哪一个执行等级中开启或关毕
1:chkconfig 命令也可以用来激活和解除服务。chkconfig –list 命令显示系统服务列表,以及这些服务在运行级别0到6中已被启动(on)还是停止(off)。
chkconfig –list
chkconfig –list httpd
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
2:chkconfig 还能用来设置某一服务在某一指定的运行级别内被启动还是被停运。譬如,要在运行级别3、4、5中停运 nscd 服务,使用下面的命令:
chkconfig –level 345 nscd off
3:由 xinetd 管理的服务会立即被 chkconfig 影响。譬如,如果 xinetd 在运行,finger 被禁用,那么执行了 chkconfig finger on 命令后,finger 就不必手工地重新启动 xinetd 来立即被启用。对其它服务的改变在使用 chkconfig 之后不会立即生效。必须使用service servicename start/stop/restart命令来重起服务
第二种方法
编辑 /etc/rc.d/rc.local文件
格式为 程序名 程序路径
例如 a.sh /home/a.sh
执行如下命令将/etc/rc.d/rc.local文标记为可执行文件
在centos7中,/etc/rc.d/rc.local文件的权限被降低了,开机的时候执行在自己的脚本是不能起动一些服务的,执行下面的命令可以文件标记为可执行的文件
chmod +x /etc/rc.d/rc.local
打开/etc/rc.d/rc.local文件,在最后面添加如下脚本
/home/centnet/centnet-service.sh
这样,centnet-service.sh这个脚本在开机的时候就会被执行了,以后再这里面写启动服务的命令就可以了