将自己写的脚本添加至开机自启动服务和chkconfig的原理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将自己写的脚本添加至开机自启动服务和chkconfig的原理相关的知识,希望对你有一定的参考价值。
将自己写的脚本添加至开机自启动服务和chkconfig的原理创建脚本测试
[[email protected] ~]# vim anuo.sh --创建个脚本
# !/bin/bash
# chkconfig: 35 53 88 --指定3和5级别启动 53的启动的顺序 88是关闭的顺序
# description: is anuo --可以随便说点啥, 最好的说明这个脚本的用途啥的。
echo Anuo Come on --脚本的内容
[[email protected] ~]# mv anuo.sh /etc/init.d/ --必须将脚本放到/etc/init.d/目录下
[[email protected] ~]# chmod +x /etc/init.d/anuo.sh --别忘记给脚本加执行权限
[[email protected] ~]# chkconfig --add anuo.sh --添加开机自启动
[[email protected] ~]# chkconfig --list | grep anuo.sh --可以看到开启级别的启动
anuo.sh 0:关闭 1:关闭 2:关闭 3:启用 4:关闭 5:启用 6:关闭
--这里的3和5级别的启动也就对应了上面的第一个35
小测试
[[email protected] ~]# ll /etc/rc.d/rc3.d/|grep anuo.sh
lrwxrwxrwx 1 root root 17 5月 12 19:10 S53anuo.sh -> ../init.d/anuo.sh
--查看到3级别启动的文件里一个S53anuo.sh的链接文件(S表示开启,53也就对应了配置文件里的53的启动的顺序)
[[email protected] ~]# chkconfig anuo.sh off --设置开机不启动
[[email protected] ~]# ll /etc/rc.d/rc3.d/|grep anuo.sh
lrwxrwxrwx 1 root root 17 5月 12 19:30 K88anuo.sh -> ../init.d/anuo.sh
--再次查看发现S53anuo.sh的链接文件没有了,却多了个K88anuo.sh的链接文件(K表示不开启 88对应的是配置文件里的88关闭的顺序)
小结:要把脚本放到/etc/init.d/目录下并给执行权限,当chkconfig设置开机自启动时候会在相应的启动级别的文件里创建S开头的链接文件,同时会删除以K开头的对应的链接文件,反之也亦然。(也可以手动删除、创建链接文件也是一样的效果)
精简开机自启动
方法1思路:找出需要关闭的的服务将其关闭
[[email protected] ~]# chkconfig --list|grep "3:on"|egrep -v "network|rsyslog|crond|sysstat|sshd"|awk ‘{print "chkconfig",$1,"off"}‘|bash
[[email protected] ~]# chkconfig --list | grep "3:on" --查看剩下开启的
crond 0:off 1:off 2:off 3:on 4:off 5:on 6:off
network 0:off 1:off 2:off 3:on 4:off 5:on 6:off
rsyslog 0:off 1:off 2:off 3:on 4:off 5:on 6:off
sshd 0:off 1:off 2:off 3:on 4:off 5:on 6:off
sysstat 0:off 1:on 2:off 3:on 4:off 5:on 6:off
方法2思路:将所有服务全部关闭自启动,再开启需要开启的服务。
[[email protected] ~]# LANG=en_SU.UTF-8 --调整字符集
[[email protected] ~]# echo $LANG
en_SU.UTF-8
[[email protected] ~]# for i in `chkconfig --list |grep "3:on" | awk ‘{print $1}‘`;do chkconfig --level 2345 $i off ;done
[[email protected] ~]# chkconfig --list | grep "3:on" --查看没有就说明全部关闭成功
[[email protected] ~]# for i in network rsyslog crond sysstat sshd;do chkconfig --level 35 $i on;done
[[email protected] ~]# chkconfig --list | grep "3:on" --查看开启也成功了
crond 0:off 1:off 2:off 3:on 4:off 5:on 6:off
network 0:off 1:off 2:off 3:on 4:off 5:on 6:off
rsyslog 0:off 1:off 2:off 3:on 4:off 5:on 6:off
sshd 0:off 1:off 2:off 3:on 4:off 5:on 6:off
sysstat 0:off 1:on 2:off 3:on 4:off 5:on 6:off
以上是关于将自己写的脚本添加至开机自启动服务和chkconfig的原理的主要内容,如果未能解决你的问题,请参考以下文章