侧边栏壁纸
  • 累计撰写 73 篇文章
  • 累计创建 30 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

CentOS 7设置开机自启动脚本

欧泡果奶
2022-12-20 / 0 评论 / 0 点赞 / 120 阅读 / 0 字

方法一:修改rc.local

1. 因为在CentOS7中/etc/rc.d/rc.local的权限被降低了,所以需要赋予其可执行权限

chmod +x /etc/rc.d/rc.local

2. 赋予脚本可执行权限

chmod +x /usr/local/script/autostart.sh

3. 打开/etc/rc.d/rc.local文件,在末尾增加如下内容

/usr/local/script/autostart.sh

rc.local

方法二:chkconfig管理

1. 编写脚本

vi test.sh

#! /bin/bash
# chkconfig:2345 80 90
# description:test
echo "开机自启动测试" > /test.txt

chkconfig启动脚本规范:

在脚本开头加入下面内容:

#!/bin/sh
#chkconfig:2345 80 90
#decription:开机自启动测试

表明 test 脚本应该在运行级 2, 3, 4, 5 启动,启动优先权为80, 停止优先权为90。数字越大,优先级越小

2. 移动到/etc/init.d目录下

mv test.sh /etc/init.d/

3. 赋予执行权限

chmod +x /etc/init.d/test.sh

4. 添加到chkconfig,开机自启动

chkconfig --add test.sh

5. 查看是否添加成功

chkconfig --list test

chkconfig添加成功

6. 删除服务

chkconfig --del test.sh

7. 验证

重启服务器

reboot

查看根目录下test.txt是否创建,内容是否正确

测试成功

补充:

1. Linux 系统的 7 个运行级别

运行级别是操作系统当前正在运行的功能级别,它让一些程序在一个级别启动,而在另外一个级别的时候不启动。Linux 系统一般使用 7 个级别。

运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动

运行级别1:单用户工作状态,改root密码,用于系统维护,禁止远程登陆

运行级别2:多用户状态(没有NFS)

运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式

运行级别4:系统未使用,保留

运行级别5:X11控制台,登陆后进入图形GUI模式

运行级别6:系统重启,默认运行级别不能设为6,否则不能正常启动

2. 运行级别的原理

  1. 在目录/etc/rc.d/init.d下有许多服务器脚本程序,一般称为服务(service)

  2. /etc/rc.d下有7个名为rcN.d的目录,对应系统的7个运行级别

  3. rcN.d目录下都是一些符号链接文件,这些链接文件都指向init.d目录下的service脚本文件,命名规则为K+nn+服务名或S+nn+服务名,其中nn为两位数字。

  4. 系统会根据指定的运行级别进入对应的rcN.d目录,并按照文件名顺序检索目录下的链接文件。对于以K开头的文件,系统将终止对应的服务;对于以S开头的文件,系统将启动对应的服务

    上述第3和第4条解释了脚本开头#chkconfig:2345 80 90的本质(为什么数字越大,优先级越小)。

    chkconfig后面三个参数2345, 80和90,告诉chkconfig程序:

    需要在rc2.d~rc5.d目录下,创建名字为S80test.sh的文件连接,连接到/etc/rc.d/init.d目录下的的test.sh脚本;

    rc3.d

    需要在rc0.d、rc1.d和rc6.d目录下,创建名字为K90test.sh的文件连接,连接到/etc/rc.d/init.d目录下的的test.sh脚本。

    rc1.d

    所以数字越大,文件越靠后,因此优先级就越小。

  5. 查看运行级别用:runlevel

  6. 进入其它运行级别用:init N

  7. 另外init 0为关机,init 6为重启系统

0

评论区