Linux使用systemd服務(wù)和crontab實(shí)現(xiàn)Shell腳本開機(jī)自動(dòng)運(yùn)行過程
簡介
systemd是Linux系統(tǒng)中的一個(gè)初始化系統(tǒng)和服務(wù)管理器。它可以用于在系統(tǒng)啟動(dòng)時(shí)自動(dòng)運(yùn)行Shell腳本。
crontab是一個(gè)用于定時(shí)執(zhí)行任務(wù)的工具。我們可以通過編輯crontab文件來設(shè)置開機(jī)自啟動(dòng)
前提條件
創(chuàng)建一個(gè)Shell腳本文件,例如myscript.sh。該腳本將在系統(tǒng)啟動(dòng)時(shí)自動(dòng)運(yùn)行。
將腳本文件移動(dòng)到一個(gè)合適的目錄,例如/path/to/myscript.sh。
使用systemd服務(wù)
創(chuàng)建一個(gè).service文件
[Unit] Description=My Script Service After=network.target [Service] ExecStart=/path/to/myscript.sh [Install] WantedBy=default.target
將.service文件移動(dòng)到/etc/systemd/system/目錄下。
service文件內(nèi)容詳解
[Unit] Description=My Script Service After=network.target Description:描述服務(wù)的簡短說明 After:指定了服務(wù)應(yīng)該在哪個(gè)目標(biāo)(target)之后啟動(dòng),在這里是"network.target",則服務(wù)需要在網(wǎng)絡(luò)啟動(dòng)之后才能正常運(yùn)行 [Service] ExecStart=/path/to/myscript.sh ExecStart:指定了服務(wù)啟動(dòng)時(shí)的執(zhí)行命令或腳本的路徑 [Install] WantedBy=default.target WantedBy:指定了服務(wù)應(yīng)該被關(guān)聯(lián)到哪個(gè)目標(biāo)(target)進(jìn)行啟動(dòng),默認(rèn)為"default.target",意味著服務(wù)會(huì)隨系統(tǒng)的默認(rèn)目標(biāo)一起啟動(dòng)。 #刷新systemd服務(wù): sudo systemctl daemon-reload #使用以下命令來啟用服務(wù)并使其在系統(tǒng)啟動(dòng)時(shí)自動(dòng)運(yùn)行: sudo systemctl enable myscript.service #使用以下命令手動(dòng)啟動(dòng)服務(wù): sudo systemctl start myscript.service
注意:
- 若你此時(shí)手動(dòng)啟動(dòng)服務(wù),它將會(huì)立即運(yùn)行。
- 但是,系統(tǒng)重啟后,服務(wù)會(huì)自動(dòng)啟動(dòng)。
使用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ī)自啟動(dòng)Shell腳本的步驟,當(dāng)系統(tǒng)啟動(dòng)時(shí),Shell腳本將自動(dòng)運(yùn)行。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Linux創(chuàng)建服務(wù)使用systemctl管理詳解
文章指導(dǎo)在Linux中創(chuàng)建systemd服務(wù),設(shè)置文件權(quán)限為所有者讀寫、其他只讀,重新加載配置,啟動(dòng)服務(wù)并檢查狀態(tài),確保服務(wù)正常運(yùn)行,關(guān)鍵步驟包括權(quán)限配置與狀態(tài)驗(yàn)證2025-09-09
Centos7下編譯安裝配置Nginx+PHP+MySql環(huán)境
這篇文章主要介紹了Centos7下編譯安裝配置Nginx+PHP+MySql環(huán)境,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02
CentOS6.5系統(tǒng)簡單安裝與配置Nginx服務(wù)器的方法
這篇文章主要介紹了CentOS6.5系統(tǒng)簡單安裝與配置Nginx服務(wù)器的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了CentOS6.5平臺(tái)安裝及配置nginx服務(wù)器的具體步驟、相關(guān)命令及使用方法,需要的朋友可以參考下2018-04-04
centos6.5 安裝hadoop1.2.1的教程詳解【親測版】
這篇文章主要介紹了centos6.5 安裝hadoop1.2.1的教程詳細(xì),該教程小編親測過,非常不錯(cuò),值得推薦給大家,需要的朋友可以參考下2018-08-08
使用squid搭建http和https的代理服務(wù)器設(shè)置指南
今天小編就為大家分享一篇關(guān)于使用squid搭建http和https的代理服務(wù)器設(shè)置指南,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-12-12
CentOS7 下安裝telnet服務(wù)的實(shí)現(xiàn)方法
這篇文章主要介紹了CentOS7 下安裝telnet服務(wù)的實(shí)現(xiàn)方法的相關(guān)資料,希望通過本文能幫助到大家,讓大家實(shí)現(xiàn)這樣功能的方法,需要的朋友可以參考下2017-10-10
Linux內(nèi)核中的設(shè)計(jì)模式之全面理解與示例代碼
這篇文章主要介紹了Linux內(nèi)核中的設(shè)計(jì)模式之全面理解與示例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02

