Linux使用systemd服務(wù)和crontab實現(xiàn)Shell腳本開機自動運行過程
簡介
systemd是Linux系統(tǒng)中的一個初始化系統(tǒng)和服務(wù)管理器。它可以用于在系統(tǒng)啟動時自動運行Shell腳本。
crontab是一個用于定時執(zhí)行任務(wù)的工具。我們可以通過編輯crontab文件來設(shè)置開機自啟動
前提條件
創(chuàng)建一個Shell腳本文件,例如myscript.sh。該腳本將在系統(tǒng)啟動時自動運行。
將腳本文件移動到一個合適的目錄,例如/path/to/myscript.sh。
使用systemd服務(wù)
創(chuàng)建一個.service文件
[Unit] Description=My Script Service After=network.target [Service] ExecStart=/path/to/myscript.sh [Install] WantedBy=default.target
將.service文件移動到/etc/systemd/system/目錄下。
service文件內(nèi)容詳解
[Unit] Description=My Script Service After=network.target Description:描述服務(wù)的簡短說明 After:指定了服務(wù)應該在哪個目標(target)之后啟動,在這里是"network.target",則服務(wù)需要在網(wǎng)絡(luò)啟動之后才能正常運行 [Service] ExecStart=/path/to/myscript.sh ExecStart:指定了服務(wù)啟動時的執(zhí)行命令或腳本的路徑 [Install] WantedBy=default.target WantedBy:指定了服務(wù)應該被關(guān)聯(lián)到哪個目標(target)進行啟動,默認為"default.target",意味著服務(wù)會隨系統(tǒng)的默認目標一起啟動。 #刷新systemd服務(wù): sudo systemctl daemon-reload #使用以下命令來啟用服務(wù)并使其在系統(tǒng)啟動時自動運行: sudo systemctl enable myscript.service #使用以下命令手動啟動服務(wù): sudo systemctl start myscript.service
注意:
- 若你此時手動啟動服務(wù),它將會立即運行。
- 但是,系統(tǒng)重啟后,服務(wù)會自動啟動。
使用crontab
打開終端,并輸入以下命令來編輯crontab文件:
crontab -e #在打開的文件中添加以下內(nèi)容: @reboot /path/to/myscript.sh #/path/to/myscript.sh是你的Shell腳本文件的路徑
保存并退出編輯器。
結(jié)束語
使用服務(wù)和crontab兩種方法在Linux系統(tǒng)中實現(xiàn)開機自啟動Shell腳本的步驟,當系統(tǒng)啟動時,Shell腳本將自動運行。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
在Ubuntu中如何查看網(wǎng)絡(luò)路由表詳解
這篇文章主要給大家介紹了關(guān)于在Ubuntu中如何查看網(wǎng)絡(luò)路由表的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用ubuntu具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2018-12-12centos8安裝zabbix提示All mirrors were tried的解決方案
這篇文章主要介紹了centos8安裝zabbix提示All mirrors were tried的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01Linux文件操作新手指南之關(guān)于install命令的用法
這篇文章主要介紹了Linux文件操作新手指南之關(guān)于install命令的用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02Linux之多線程以及多線程并發(fā)訪問同一塊內(nèi)存的處理問題
這篇文章主要介紹了Linux之多線程以及多線程并發(fā)訪問同一塊內(nèi)存的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03UNEXPECTED INCONSISTENCY: RUN fsck MANUALLY
這篇文章主要介紹了UNEXPECTED INCONSISTENCY: RUN fsck MANUALLY,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-07-07Windows下PHP安裝路徑配置錯誤導致Apache無法啟動的解決方法
這篇文章主要介紹了Windows下PHP安裝路徑配置錯誤導致Apache無法啟動的解決方法,本文可以說是一個引號引發(fā)的悲劇,需要的朋友可以參考下2014-09-09