博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
将自己写的脚本添加至开机自启动服务和chkconfig的原理
阅读量:7210 次
发布时间:2019-06-29

本文共 2507 字,大约阅读时间需要 8 分钟。

将自己写的脚本添加至开机自启动服务和chkconfig的原理

创建脚本测试

[root@anuo ~]# vim anuo.sh  --创建个脚本# !/bin/bash# chkconfig: 35 53 88   --指定3和5级别启动 53的启动的顺序    88是关闭的顺序# description: is anuo  --可以随便说点啥, 最好的说明这个脚本的用途啥的。echo Anuo Come on   --脚本的内容
[root@anuo ~]# mv anuo.sh /etc/init.d/      --必须将脚本放到/etc/init.d/目录下[root@anuo ~]# chmod +x /etc/init.d/anuo.sh     --别忘记给脚本加执行权限[root@anuo ~]# chkconfig --add anuo.sh      --添加开机自启动[root@anuo ~]# chkconfig --list | grep anuo.sh      --可以看到开启级别的启动anuo.sh         0:关闭    1:关闭    2:关闭    3:启用    4:关闭    5:启用    6:关闭--这里的3和5级别的启动也就对应了上面的第一个35

小测试

[root@anuo ~]# 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的启动的顺序)

[root@anuo ~]# chkconfig anuo.sh off    --设置开机不启动[root@anuo ~]# 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思路:找出需要关闭的的服务将其关闭

[root@anuo ~]# chkconfig --list|grep "3:on"|egrep -v "network|rsyslog|crond|sysstat|sshd"|awk '{print "chkconfig",$1,"off"}'|bash[root@anuo ~]# chkconfig --list | grep "3:on"   --查看剩下开启的crond           0:off   1:off   2:off   3:on    4:off   5:on    6:offnetwork         0:off   1:off   2:off   3:on    4:off   5:on    6:offrsyslog         0:off   1:off   2:off   3:on    4:off   5:on    6:offsshd            0:off   1:off   2:off   3:on    4:off   5:on    6:offsysstat         0:off   1:on    2:off   3:on    4:off   5:on    6:off

方法2思路:将所有服务全部关闭自启动,再开启需要开启的服务。

[root@anuo ~]# LANG=en_SU.UTF-8     --调整字符集[root@anuo ~]# echo $LANGen_SU.UTF-8[root@anuo ~]# for i in `chkconfig --list |grep "3:on" | awk '{print $1}'`;do chkconfig --level 2345 $i off ;done[root@anuo ~]# chkconfig --list | grep "3:on"   --查看没有就说明全部关闭成功[root@anuo ~]# for i in network rsyslog crond sysstat sshd;do chkconfig --level 35 $i on;done[root@anuo ~]# chkconfig --list | grep "3:on"   --查看开启也成功了crond           0:off   1:off   2:off   3:on    4:off   5:on    6:offnetwork         0:off   1:off   2:off   3:on    4:off   5:on    6:offrsyslog         0:off   1:off   2:off   3:on    4:off   5:on    6:offsshd            0:off   1:off   2:off   3:on    4:off   5:on    6:offsysstat         0:off   1:on    2:off   3:on    4:off   5:on    6:off

转载于:https://blog.51cto.com/13744837/2115659

你可能感兴趣的文章
Python 2.x 与 Python 3.x 的区别
查看>>
如何实现对tcl脚本的类GDB调试
查看>>
基于java的IO流的文件读取系统
查看>>
谈谈 Docker 网络
查看>>
laravel-admin集成ueditor编辑器的图片列表显示问题解决方法
查看>>
伪数组(ArrayLike)
查看>>
ES6精华:字符串扩展
查看>>
写在Flutter 1.0之前
查看>>
智能媒体管理产品文档转换/预览功能介绍(4)--快速搭建
查看>>
移动端H5周历组件
查看>>
Python 初体验
查看>>
使用jenkins进行持续集成
查看>>
js算法入门(3)--递归
查看>>
免费的局域网文档协作办公方式—onlyoffice文档协作
查看>>
微信支付HTTPS服务器证书验证(PHP)
查看>>
前端笔试题面试题记录(上)
查看>>
webpack4升级指北
查看>>
springboot整合shiro使用shiro-spring-boot-web-starter
查看>>
Express4.x api 翻译(draft)
查看>>
我为什么晚上写代码?
查看>>