Ubuntu 18 使用 rc.local执行开机启动脚本


Ubuntu 18 使用 rc.local执行开机启动脚本(只能启动不带界面的程序)

 

Ubuntu 18 开机启动

找回 rc.local

配置 rc.local.service

添加服务文件

新建 rc.local 文件

设置文件执行权限

验证

Ubuntu 18 开机启动

Ubuntu 16以前,有个很简单的 rc.local ,在这个文件内写上你要执行的命令,在开机后,系统就会以管理员权限去执行这些命令。但是,这个启动脚本的控制粒度并不是很精细。

所以,在Ubuntu18 版本开始,Ubuntu使用了 systemd 替代了 initd 管理系统。并且默认已经取消了 /etc/rc.local 文件。

 

找回 rc.local

配置 rc.local.service

rc.local.service 文件路径

/lib/systemd/system/rc.local.service

 

编辑 rc.local.service

vim /lib/systemd/system/rc.local.service

 

rc.local.service 内容

[Unit]

Description=/etc/rc.local Compatibility

Documentation=man:systemd-rc-local-generator(8)

ConditionFileIsExecutable=/etc/rc.local

After=syslog.target network.target remote-fs.target nss-lookup.target

 

[Service]

Type=forking

ExecStart=/etc/rc.local start

TimeoutSec=0

RemainAfterExit=no

GuessMainPID=no

 

#这一段原文件没有,需要自己添加

[Install]

WantedBy=multi-user.target

Alias=rc-local.service

 

rc.local.service 内容解释

 

 [Unit] 区块:启动顺序与依赖关系。

 

 ConditionFileIsExecutable=/etc/rc.local

 After=network.target

 

 ConditionFileIsExecutable指定了执行的文件,

 

 After 表示在 network.target 这个target后面进行执行。也就是网络启动完成之后,执行 /etc/rc.local 文件。

 

 [Service] 区块:启动行为,如何启动,启动类型。

 

 Type=forking

 ExecStart=/etc/rc.local start

 TimeoutSec=0

 RemainAfterExit=yes

 GuessMainPID=no

 

 [Install] 区块,定义如何安装这个配置文件,即怎样做到开机启动。

 

 [Install]

 WantedBy=multi-user.target

 Alias=rc-local.service

 

 [Install] 块是我们自己编辑新增的。

 

添加服务文件

添加软链接,将 /lib/systemd/system/rc.local.service 链接到 /etc/systemd/system/rc.local.service

系统在开机后会自动去 /etc/systemd/system/ 目录下读取需要启动的服务配置

 

ln -s /lib/systemd/system/rc.local.service /etc/systemd/system/rc.local.service

 

新建 rc.local 文件

vim /etc/rc.local

 

写入启动命令

 

#!/bin/bash

 

# 将你需要执行的命令写在这里,禁止写入死循环命令

echo "hello" > /home/test.log

 

 

 

exit 0

 

设置文件执行权限

chmod 755 /etc/rc.local

 

如果你是在 /etc/systemd/system/ 目录下创建的文件,也要加上执行权限。

 

验证

重启主机,检查 /home/ 下是否有 test.log 文件。

如果一切正常,在 /home/test.log 文件内,可以看到 hello

————————————————

版权声明:本文为CSDN博主「安心写bug」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_36963372/article/details/102651661


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM