今天就跟大家聊聊有關(guān)在Linux中創(chuàng)建自定義腳本和創(chuàng)建systemd服務(wù)單元文件的方法是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

創(chuàng)新互聯(lián)公司長(zhǎng)期為數(shù)千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為鄂爾多斯企業(yè)提供專業(yè)的成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì),鄂爾多斯網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
前言
systemd是Linux操作系統(tǒng)的系統(tǒng)和服務(wù)管理器。當(dāng)您從存儲(chǔ)庫(kù)安裝任何應(yīng)用程序時(shí),它會(huì)將服務(wù)單元文件放入systemd目錄中,您不應(yīng)直接修改這些文件。
systemd單元文件將在以下三個(gè)目錄中找到:
/usr/lib/systemd/system/:安裝軟件包時(shí)刪除的systemd單元文件。
/run/systemd/system/:在運(yùn)行時(shí)創(chuàng)建的systemd單元文件。
/etc/systemd/system/:由“systemctl enable”命令創(chuàng)建的systemd單元文件以及為擴(kuò)展服務(wù)而添加的單元文件。
有時(shí)您可能需要為自定義應(yīng)用程序或守護(hù)程序或腳本創(chuàng)建服務(wù)單元文件。有很多參數(shù)可以添加,但我們只會(huì)添加幾個(gè)值以使單元文件更簡(jiǎn)單以便更好地理解。
例如:要在systemd系統(tǒng)啟動(dòng)時(shí)運(yùn)行自定義腳本,您需要?jiǎng)?chuàng)建一個(gè)自定義服務(wù)單元文件。
創(chuàng)建自定義腳本
以下shell腳本將在文件中寫(xiě)入歡迎消息,如下所示:
$ sudo vi /usr/sbin/welcome.sh
#!/bin/bash
echo 'Welcome to Linux WORLD..!!!' >> /tmp/welcome.txt
參考:在Linux系統(tǒng)中運(yùn)行.sh文件的兩種方法。
創(chuàng)建systemd單元文件
您需要在“/etc/systemd/system/”目錄下創(chuàng)建自定義服務(wù)單元文件,因?yàn)檫@是為自定義腳本保留的。‘/etc/systemd/system’中的任何單元文件都會(huì)覆蓋‘/lib/systemd/system’中的相應(yīng)文件。
語(yǔ)法:systemd單元文件由三部分組成:
Section-1 [Unit] Parameter 1 . . Parameter N Section-2 [Service] Parameter 1 . . Parameter N Section-3 [Install] Parameter 1
為了演示這一點(diǎn),我們將創(chuàng)建一個(gè)名為“custom.service”的systemd服務(wù)單元文件:
$ sudo vi /etc/systemd/system/custom.service
[Unit]
Description=example systemd custom service unit file
After=network.target
[Service]
Type=notify
ExecStart=/bin/bash /usr/sbin/welcome.sh
[Install]
WantedBy=multi-user.target
1、Section-1:
Unit:本節(jié)提供有關(guān)服務(wù)的基本信息。
Description:服務(wù)單位的簡(jiǎn)短描述。當(dāng)您執(zhí)行“systemctl status UNIT.service”命令時(shí),描述會(huì)出現(xiàn)在服務(wù)單元名稱旁邊。
After:定義單元啟動(dòng)的順序。“custom.service”單元只有在“network.target”單元啟動(dòng)后才會(huì)啟動(dòng)。
2、Section-2:
Service:“Service”部分提供有關(guān)如何控制服務(wù)的說(shuō)明。
Type:定義systemd服務(wù)的類型。它與“Type=simple”相同,但同時(shí)守護(hù)進(jìn)程希望在準(zhǔn)備就緒時(shí)向systemd發(fā)送信號(hào)。
ExecStart:它用于啟動(dòng)服務(wù),其中包括實(shí)際服務(wù)可執(zhí)行文件的完整路徑。
3、Section-3:
Install:“Install”部分提供了有關(guān)如何安裝systemd服務(wù)的說(shuō)明。
WantedBy:“WantedBy”設(shè)置指示應(yīng)該在哪個(gè)目標(biāo)下啟動(dòng)給定的服務(wù)單元。在這個(gè)例子中,custom.service使用了multi-user.target,所以systemd在啟動(dòng)時(shí)加載multi-user.target時(shí)會(huì)啟動(dòng)custom.service。
將可執(zhí)行權(quán)限設(shè)置為“custom.service”:
$ sudo chmod a+x /etc/systemd/system/custom.service
要向systemd添加新服務(wù),請(qǐng)運(yùn)行:
$ sudo systemctl daemon-reload
要啟動(dòng)custom.service,請(qǐng)運(yùn)行:
$ sudo systemctl start custom.service
要在啟動(dòng)時(shí)啟用custom.service,請(qǐng)運(yùn)行:
$ sudo systemctl enable custom.service
最后重新啟動(dòng)系統(tǒng)以檢查custom.service是否通過(guò)驗(yàn)證輸出文件在啟動(dòng)時(shí)按預(yù)期運(yùn)行腳本:
$ sudo reboot
是的,它運(yùn)作良好:
$ cat /tmp/welcome.txt
Welcome to Linux WORLD..!!!
Linux是一種免費(fèi)使用和自由傳播的類UNIX操作系統(tǒng),是一個(gè)基于POSIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng),使用Linux能運(yùn)行主要的Unix工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。
看完上述內(nèi)容,你們對(duì)在Linux中創(chuàng)建自定義腳本和創(chuàng)建systemd服務(wù)單元文件的方法是什么有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
文章標(biāo)題:在Linux中創(chuàng)建自定義腳本和創(chuàng)建systemd服務(wù)單元文件的方法是什么
標(biāo)題鏈接:http://www.chinadenli.net/article12/gidggc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、Google、自適應(yīng)網(wǎng)站、網(wǎng)站營(yíng)銷、服務(wù)器托管、
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)