如何管理linux开机自启服务?


自启动服务非常重要,例如 

(1)需要手动添加希望自启的服务,如安装svn后没有自动添加,就需要我们手动加入

(2)安装某些程序后,自动加到自启动了,但我们不需要,需要手动移除

(3)很多恶意程序都会把自己加入自启动,需要我们排查删除

运行级别的原理

涉及到自启动操作时,就会接触到 /etc/rc.d/rc[0-6].d 这7个目录

这几个目录代表着linux的7个运行级别

在 /etc/inittab 文件中指定了系统启动时默认进入哪个级别

Linux进入运行级别后,就会进入对应的 rcN.d 目录,按照文件名顺序检索目录下的文件

rcN.d 目录下都是一些链接文件,这些链接文件都指向 /etc/init.d 目录下的service脚本文件,例如

命名规则为:

K+nn+服务名,或 S+nn+服务名

K - 系统将终止对应的服务

S - 系统将启动对应的服务

nn - 两位数字,执行顺序

7个运行级别是什么?

0 - 停机

1 - 单用户模式,root权限,用于系统维护,禁止远程登陆

2 - 多用户状态,没有 NFS

3 - 标准多用户模式,登陆后进入命令行模式

4 - 系统未使用,保留

5 - 多用户图形模式,登陆后进入图形GUI模式

6 - 重新启动

服务器一般都是命令行模式,所以默认运行级别为 3

如何添加自启程序?

(1)/etc/init.d 目录中添加

以启动SVN为例

1)在 /etc/init.d 目录下创建启动服务的脚本

vim /etc/init.d/svn

内容

#!/bin/bash
svnserve -d -r /svn仓库路径

设置执行权限

chmod 755 /etc/init.d/svn

2)把这个脚本软链接到 /etc/rc.d/rc3.d 

ln -s /etc/init.d/svn /etc/rc.d/rc3.d/S101svn

S 代表是要执行这个脚本,101 是执行顺序,通常要大于60,这样可以保证基础服务都已经启动完成

重启linux测试

(2)/etc/rc.local 文件中添加

直接修改 /etc/rc.local

该脚本是在系统初始化级别脚本运行之后再执行的,因此可以在里面添加想在系统启动之后执行的脚本

(3)chkconfig 命令添加

如何禁止自启程序?

(1)直接删除 /etc/rc.d/rcN.d 目录的目标链接文件

(2)删除 /etc/rc.local 文件中定义的启动脚本

(3)查看自启动服务列表,从中选择目标服务执行禁止操作

chkconfig --list

chkconfig --del 服务名

如何管理linux开机自启服务的更多相关文章

  1. linux开机自启服务

    前言:最近,有一个项目需要用到开机自动启动机房,所以就研究了一下 1.把node的快捷方式放在放在/usr/bin/(环境变量)下面,所有的命令默认是从这里面进行调用的 ln -s /home/too ...

  2. Linux开机自启应用&开机执行脚本&监听端口应用挂掉了执行启动脚本

    linux开机自启 背景 目前要部署一个spring boot框架的jar包,实现开机启动项目或者应用挂掉了 执行启动脚本 在root目录下有一个启动项目的脚本: app_start.sh app_s ...

  3. Ubuntu 16.04设置rc.local开机启动命令/脚本的方法(通过update-rc.d管理Ubuntu开机启动程序/服务)

    注意:rc.local脚本里面启动的用户默认为root权限. 一.rc.local脚本 rc.local脚本是一个Ubuntu开机后会自动执行的脚本,我们可以在该脚本内添加命令行指令.该脚本位于/et ...

  4. centos 7.0 ln命令 和chkconfig 命令介绍 开机自动启 服务

    有时候centos需要 程序开机启动的时候  自启动 首先在 /etc/init.d/ cd /etc/init.d 文件夹下建立开机启动项 使用ln命令 使用方式 : ln [options] so ...

  5. Docker学习4-学会如何让容器开机自启服务

    前言 小龙亲测重启服务器后 docker 容器没跑起来,相信有不少小伙伴在用docker部署容器的时候也发现每次开机服务就没有自启了,需要手动去执行把容器服务开启起来,但有没有可以让它开机自启呢?显然 ...

  6. ubuntu16.04设置开机自启服务

    网上说了开机自启有许多种方法: 1.最简单的是:在/etc/rc.local的exit 0前面加上你启动服务的脚本文件路径 注:这个脚本文件应写绝对路径! 2.网上:修改rc.local开头的#/bi ...

  7. Centos 7 redis、tomcat、Spring Boot添加开机自启服务

    一.redis添加开机自启 1.添加服务配置文件 [root@test system]# vim /etc/systemd/system/redis-server.service 2.服务配置文件内容 ...

  8. linux中添加开机自启服务的方法

    往文件/etc/rc.d/rc.local中追加内容即可,如: /mongodb/start_mongoDB.sh

  9. Linux开机自启配置

    1.将自己写好的脚本或命令写入/etc/rc.local文件中.系统会根据该文件来启动所指定的脚本或命令. 例:我有一个脚本:/root/usr/local/scripts/1234.sh 那么直接将 ...

随机推荐

  1. Juery On事件的 事件触发流程

    使用On 给控件赋值事件的时候,你有没有觉得很神奇那,那是因为他事件处理流程比较特殊. on()函数并不是为当前jQuery对象匹配的元素绑定事件处理函数,而是为它们的后代元素中符合选择器select ...

  2. ES6 module export options 模块导出、导入语法

    http://stackoverflow.com/questions/25494365/es6-module-export-options A year and some later, here is ...

  3. UIBarButtonItem的创建

    1. rightBarButtonItem的创建 -(void)initRightBar{ UIBarButtonItem *done =[UIBarButtonItem rightItemWithT ...

  4. iis 重新注册 .net 方法

    dhl:IIS注册ASP.NET 1.1.2.0.4.0_在win7下如果先安装vs2010 后安装iis7的话,必须注册iis才可以用.~~~!!鄙视微软   IIS中ASP.NET的版本号此时可选 ...

  5. jquery判断页面是否滑动到最底部

    // 滚动到底部,向下的箭头消失 var $down = $('.down'); var $window = $(window); var $document = $(document); $wind ...

  6. 清除div中内容

    $.ajax({            url: "SearchSN.aspx",            data: "SN=" + $("#txtS ...

  7. SpringMVC学习系列(3) 之 URL请求到Action的映射规则

    在系列(2)中我们展示了一个简单的get请求,并返回了一个简单的helloworld页面.本篇我们来学习如何来配置一个action的url映射规则. 在系列(2)中我们在HelloWorldContr ...

  8. CSS3 中border-image详解

    CSS3 border-image详解.应用及jQuery插件 一.border-image的兼容性 border-image可以说是CSS3中的一员大将,将来一定会大放光彩,其应用潜力真的是非常的惊 ...

  9. Coursera台大机器学习课程笔记3 – 机器学习的可能性

    提纲: 机器学习为什么可能? 引入计算橙球概率问题 通过用Hoeffding's inequality解决上面的问题,并得出PAC的概念,证明采样数据学习到的h的错误率可以和全局一致是PAC的 将得到 ...

  10. 弹性伸缩布局flex

    Flex 布局教程:语法篇   作者: 阮一峰 日期: 2015年7月10日 网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + posi ...