centos7开机自启动

方案一、rc.local

1、创建脚本install.sh。放在任意目录下,eg:root/shell目录下

并给install.sh 设置执行权限:Chmod 777 install.sh

2、在 /etc/rc.local 末尾增加 install.sh 脚本

 vim /etc/rc.local
# 追加到末尾即可。
 /root/shell/install.sh

注意:执行chmod +x /etc/rc.d/rc.local来确保确保这个脚本在引导时执行。

3、并给 rc.local 设置执行权限【一般都不用自己设置】

chmod +x /etc/rc.local

4、重新启动,验证结果。

更多参考:centos 7.1开机/etc/rc.local脚本不执行的问题

我在 带桌面UI的系统上,做编译PCI硬件驱动的脚本时,按此配置后,没有生效(尚不清楚为何) 可尝试方案二。

在不带UI,纯命令行系统上时,用此方案是可以的

方案二、chkconfig

参考:linux chkconfig 管理服务开机自启动

实战:最近在做一个密码卡设备项目时,关机后驱动程序被删除了,所以需要每次开机后都自动安装驱动程序。

首先,将设备的linux驱动拷贝到/home/driver/linux

1、编写脚本:/home/driver/install.sh

说明:前三行是chkconfig的脚本启动规范。

chkonfig后面是启动级别和优先级,description后面是服务描述。如下面脚本意思是,

服务必须在运行级3,4,5下被启动或关闭,启动的优先级是88,停止的优先级是14。优先级范围是0-100,数字越大,优先级越低。

参考:Linux 系统启动过程

#! /bin/bash

#chkconfig: 345 88 14

#decription:autostart

cd /home/driver/linux

make

chmod +x loaddrv

./loaddrv

cd /dev

chmod 777 swcsm-*

2、将脚本复制到/etc/rc.d/init.d目录下

cp /home/driver/install.sh /etc/rc.d/init.d

3、增加脚本的可执行权限

chmod +x /etc/rc.d/init.d/install.sh

4、添加脚本到开机自动启动项目中

cd /etc/rc.d/init.d

chkconfig --add install.sh

chkconfig install.sh on

实测时,在不带ui的 纯命令行操作系统上时,重启机器时,发现关机和开机时都执行了一遍。(然而不想在关机的时候也启动,暂时没想到什么好的方法)

方案三、systemd

可以通过systemd添加自定义服务启动,可以参见:CentOS7上设置FreeSwitch自启动