Centos8 设置开机自启动脚本

简介: Centos8 设置开机自启动脚本

在CentOS8 之前通过把需要开机执行的命令写入到/etc/rc.local 就解决了开机启动问题,但是从CentOS8开始写入到rc.local 将无法自动启动 需要设置 rc.local这个服务自启解决开机/etc/rc.local 中脚本不执行问题

[root@hostname]# more /etc/rc.local #!/bin/bashTHISFILEISADDEDFORCOMPATIBILITYPURPOSESItishighlyadvisabletocreateownsystemdservicesorudevrulestorunscriptsduringbootinsteadofusingthisfile.


看一下系统默认/etc/rc.local的情况


[root@hostname]# ll /etc/rc.local lrwxrwxrwx1rootroot13Jul12019/etc/rc.local->rc.d/rc.local[root@hostname]# ll /etc/rc.d/rc.local -rw-r--r--.1rootroot474Jul12019/etc/rc.d/rc.local


说明:可以看到当前的/etc/rc.local是 /etc/rc.d/rc.local文件的一个符号链接


配置rc-local服务

我们在这里配置一个例子:开机后自动在/tmp 创建一个txt 文档

1.编辑/etc/rc.local文件

[root@hostname]# vi /etc/rc.local

增加一行:

touch/tmp/123.txt


2.加入可执行属性

[root@hostname]# chmod +x /etc/rc.d/rc.local   #必不可少,不然后面rc-local 无法启动[root@hostname]# ll /etc/rc.d/rc.local -rwxr-xr-x1rootroot530Mar1114:44/etc/rc.d/rc.local


3. 配置rc.local服务

[root@hostname]# vi /usr/lib/systemd/system/rc-local.service


内容如下:

[Unit]Description=/etc/rc.d/rc.localCompatibilityDocumentation=man:systemd-rc-local-generator(8)ConditionFileIsExecutable=/etc/rc.d/rc.localAfter=network.target[Service]Type=forkingExecStart=/etc/rc.d/rc.localstartTimeoutSec=0RemainAfterExit=yesGuessMainPID=no[Install]WantedBy=multi-user.target


说明:最后的install一段不可少,如果当前的service文件中没有这段,需手动添加(默认有前两部分) 否则服务启动时会报错



4.启动rc-local服务

[root@hostname]# systemctl daemon-reload [root@hostname]# systemctl start rc-local


5.使开机能自动启动:

[root@hostname]# systememctl enable rc-local Createdsymlink/etc/systemd/system/multi-user.target.wants/rc-local.service/usr/lib/systemd/system/rc-local.service.


测试

source /etc/rc.local 看下是否自动创建txt 文件 ,如创建成功说明脚本(这里只是写了一个简单的命令代替)自身不存在问题,删除这个txt 文件 并重启机器;机器启动后查看文件是否存在,如存在说明rc-local服务配置正常


相关文章
|
7月前
|
Java Linux Docker
centos7 开机自启动自定义脚本
centos7 开机自启动自定义脚本
|
Ubuntu Unix Linux
Ubuntu 开机启动脚本配置
本文基于Ubuntu 20.04 LTS版本用实例来讲解如何配置开机自启动服务。
1081 1
Ubuntu 开机启动脚本配置
|
中间件 Linux
Centos中配置开机自启动的方式汇总(上)
Centos中配置开机自启动的方式汇总(上)
1699 0
Centos中配置开机自启动的方式汇总(上)
|
Linux Shell 网络安全
centos 查看哪些服务是自启动的
在CentOS中,可以使用`systemctl`命令来查看哪些服务是自启动的。具体的步骤如下: 1. 打开终端或者SSH连接到CentOS服务器上。 2. 输入以下命令来列出所有自启动的服务: ```bash systemctl list-unit-files --type=service | grep enabled ``` 这将显示所有已启用的服务。 另外,你也可以使用以下命令来查看所有已启用和已禁用的服务: ```bash systemctl list-unit-files --type=service ``` 已禁用的服务将以"disabled"的形式显示。
817 0
|
Linux
CentOS7下配置Supervisor自启动的两种方法
很多网友留言问如何配置Supervisor 自启动,本文介绍了CentOS7下配置Supervisor自启动的两种方法,推荐使用第二种方式。
656 0
|
Linux
Centos中配置开机自启动的方式汇总(下)
Centos中配置开机自启动的方式汇总(下)
745 1
Centos中配置开机自启动的方式汇总(下)
|
Linux
centos设置开机自启
centos开机自启
139 0
|
NoSQL Linux MongoDB
centos7安装启动monogodb和设置开机自启动
centos7安装启动monogodb和设置开机自启动
458 0
centos7安装启动monogodb和设置开机自启动
|
应用服务中间件 Linux nginx
Ubuntu15.x /CentOS 7.x 以后 设置开机启动,添加自定义系统服务,自定义开机启动
Ubuntu15.04今天 装LANMPS套件,装好后开机启动死活设置不了,查看了Ubuntu15.04的新特性才发现: Systemd——Ubuntu 15.04的服务管理器已经切换到Systemd;   Unity 7.3——Unity桌面版本升级到7.3,包含很多小的优化;   Compiz 0.9.12——窗口管理器升级到0.9.12;  Linux Kernel 3.19
2180 0