一、 启动优先级

今天有一台服务器没有正常启动,原因是有一个服务没有启动起来,因为A服务需要B服务启动之后才能正常启动,所以需要调整A,B服务的启动顺序。在网上查找了一些资料,总结了一下,以备以后需要。

要知道服务的启动顺序,就需要先知道服务如何启动的。linux有7个运行级别,用户可选择不同的运行级别。进入/etc/rc.d/目录,可查看到对应从rc0.d到rc6.d等7个目录,这些目录即对应7个级别。

下面有这么几个目录值得注意:
rcS.d rc0.d rc1.d ... rc6.d ,
(0,1... 6 代表启动级别: 0代表停止,1代表单用户模式,2-5代表多用户模式,6代表重启)

进入rc3.d目录,可看到各种以K或者S开始的服务,K表示启动,S表示停止,而后面的数字就表示启动顺序。我们以熟悉的network服务为例,这里只是个链接,其实还是指向/etc/init.d/network,其启动值为27。

在rc?.d中的都是链接文件,链接在/etc/init.d中的脚本。

在脚本中,有#chkconfig 一行,这一行描述了当设置为自启动的时候,这个脚本的启动优先级和关闭的时候的关闭优先级。

例如,我们看network脚本:

我们可以看出,network脚本在被设置为自启动的时候,只在2345级里会自启动,启动优先级是10,关闭优先级是90。所以,如果要设置自己脚本自动启动,那么也需要有这一行。

设置自动启动:chkconfig --add <文件名>

然后在/etc/rc.d/rc5.d中可以看到我脚本的链接。

----------------------------------------------------------------分---------------------------------------------------------------------------割---------------------------------------------------------------------------------------线--------------------------------------------------------------------------------

如何将start.sh stop.sh restar.sh启动、关闭、重启放到一个文件内制作成自启服务

#!/bin/bash

cd "/usr/local/proxy-server-0.1/bin"

case "$1" in

start)
./startup.sh
;;
stop)
./stop.sh
;;
restart)
./stop.sh
./startup.sh
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac

1、创建文本

vim /etc/init.d/proxyserver

2、将以上内容复制粘贴到该文本内(几个修改格式),记得修改(cd "路径")我的start.sh 和stop.sh就在(/usr/local/proxy-server-0.1/bin)这个路径

3、保存文本,赋予可执行权限

chmod +x proxyserver

到这里就可以使用,如果执行时出现错误,除了检查路径,名称,也有可能是格式不正确,与截图保持一致

service proxyserver stop  #停止程序

service proxyserver start  #开启程序

如何配置开机自启,继续往后走

二、把启动脚本设置为启动项

1、查看当前系统启动级别:sudo runlevel

2、进入对应的系统启动级别文件夹,我的是rc5.d,建立软链接,链接到/etc/init.d/下的<文件名>

    1. cd /etc/rc5.d/
    2. sudo ln -vsf /etc/init.d/proxyserver  S98proxyserver
    3. ln -vsf(-v 显示链接过程 -s 软链接 -f 强制链接) 链接的文件位置 自己取得软连接名

说明一下:命名规则是有规定的,开头必须大写S,后面跟的数字98,是你设定的启动序号,即优先级,后面名字无限定。

3:看一下是否有这链接:

ls -alh | grep S98proxyserver

三、将自启命令写到脚本内(具体的文件名称根据自己实情操作)

#!/bin/bash
#chkconfig: 2345 81 96
#description: Starttomcat

第一行,告诉系统使用的shell,所有的shell脚本都是这样。
第二行,chkconfig后面有三个参数2345,81和96告诉chkconfig程序,需要在/etc/rc.d/rc2.d~rc5.d目录下,创建名字为 S81tomcatstart的文件连接,连接到/etc/rc.d/init.d目录下的的tomcatstart脚本。第一个字符是S,系统在启动的时候,运行脚本tomcatstart,就会添加一个start参数,告诉脚本,现在是启动模式。
同时在/etc/rc.d/rc0.d和/etc/rc.d/rc6.d目录下,创建名字为K96tomcatstart的 文件连接,第一个字符为K,在关闭系统的时候,会运行tomcatstart,添加一个stop参数,告诉脚本,现在是关闭模式。
注意上面的三行中:第二、第三行是必须的,否则在运行chkconfig --add tomcatstart时,会报错。

 

添加服务前,可以查看这个内容《服务不支持 chkconfig 的解决办法

1、添加服务(什么也不展示表示成功,如果没成功从第二开始看,缺少哪一步)

chkconfig --add proxyclient

2、显示服务列表

chkconfig --list

▲:如果看到mysql的服务如上图所示2,3,4,5都是开的话则成功,默认级别是2345

如果是关,则键入命令开启

chkconfig --level 2345 proxyswevwe on

3、重启服务器

reboot

命令说明:

--add:增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据;
--del:删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据;
--level<等级代号>:指定读系统服务要在哪一个执行等级中开启或关毕。

原文地址:http://blog.51cto.com/zhengdzy/2108879

https://blog.csdn.net/m0_37673307/article/details/81806962

设置Linux自启服务以及优先级的更多相关文章

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

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

  2. 设置Linux使用SMTP服务发送邮件

    很多时候我们需要知道服务器的运行状态,比如发生了异常的报警.数据库备份的状态等,假如服务器自动跟你汇报那就好了,我们可以通过设置当触发某些条件时让服务器发送邮件给你,这样你就可以了解你的服务器的状态怎 ...

  3. Kali Linux开启ssh服务设置自启

    几天没写 水一些今天遇到的问题 0x01 配置SSH参数 修改sshd_config文件,命令为:   vi /etc/ssh/sshd_config 将#PasswordAuthentication ...

  4. 如何管理linux开机自启服务

    如何管理linux开机自启服务? 自启动服务非常重要,例如 (1)需要手动添加希望自启的服务,如安装svn后没有自动添加,就需要我们手动加入(2)安装某些程序后,自动加到自启动了,但我们不需要,需要手 ...

  5. linux开机自启动服务优化设置命令

    1.设置成英文字符,避免出现乱码[root@xuegod62 ~]# LANG=en2.两种配置linux开机自启动服务命令:1)[root@xuegod62 ~]# ntsysv2)[root@xu ...

  6. windows下安装redis以及redis扩展,设置redis为windows自启服务

    windows下安装reids windows下redis下载地址:https://github.com/MSOpenTech/redis/releases. 启动redis服务:在redis目录下启 ...

  7. Linux(CentOS6.5)下Nginx注册系统服务(启动、停止、重启、重载等)&设置开机自启

    本文地址http://comexchan.cnblogs.com/ ,作者Comex Chan,尊重知识产权,转载请注明出处,谢谢! 完成了Nginx的编译安装后,仅仅是能支持Nginx最基本的功能, ...

  8. Linux服务器,服务管理--systemctl命令详解,设置开机自启动

    Linux服务器,服务管理--systemctl命令详解,设置开机自启动 syetemclt就是service和chkconfig这两个命令的整合,在CentOS 7就开始被使用了. 摘要: syst ...

  9. Linux下网络服务的安全设置

    Linux下网络服务的安全设置      Linux操作系统由于其良好的稳定性.健壮性.高效性和安全性.正在成为各种网络服务的理想平台.各种网络应用在Linux系统上部有性能卓越的应用,例如,提供We ...

随机推荐

  1. TreeSet——实现Comparable接口并重写CompareTo()方法

    TreeSet是以自然顺序存的数据,例如 Set<Student> students=new TreeSet(); students.add(new Student("111&q ...

  2. CF10D-LCIS题解--线性DP+打印方案

    题目链接: https://www.luogu.org/problemnew/show/CF10D 方法一 分析 \(LCS\)和\(LIS\)已经成烂大街的知识了,可是当这两个合并起来成为\(LCI ...

  3. O041、Resize Instance 操作详解

    参考https://www.cnblogs.com/CloudMan6/p/5548294.html   Resize 的作用是调整instance的vCPU.内存和磁盘资源.   Instance  ...

  4. 转:Git和Github简单教程

    转自:https://www.cnblogs.com/schaepher/p/5561193.html Git和Github简单教程   原文链接:Git和Github简单教程 网络上关于Git和Gi ...

  5. 转:git上传本地项目到github

    转自:https://blog.csdn.net/Lucky_LXG/article/details/77849212 将本地项目上传到Github(两种简单.方便的方法) 一.第一种方法:首先你需要 ...

  6. ES6基础之——get 与 set

    class Chef{ constructor(food){ this.food = food; thid.dish = []; } //getter get menu(){ return this. ...

  7. django orm 数据查询详解

    一 在django里面创建模型 from django.db import models class Blog(models.Model): name = models.CharField(max_l ...

  8. 错误处理:java.lang.NoClassDefFoundError: javax/jms/JMSContext

    原因是少包,需要在pom文件增加依赖 <dependency> <groupId>javax.jms</groupId> <artifactId>jav ...

  9. oracle解锁

    --以下几个为相关表SELECT * FROM v$lock;SELECT * FROM v$sqlarea;SELECT * FROM v$session;SELECT * FROM v$proce ...

  10. mysql的锁机制,以及乐观锁,悲观锁,以及热点账户余额问题

    mysql的简单锁机制. myisam 1.只支持表级锁,所以经常更新的表结构不适宜用. 2.select也会产生锁表 innodb 1.支持事务,行级锁,表级锁,执行行级锁的前提是sql语句的索引有 ...