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