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

