設(shè)置Shell腳本開(kāi)機(jī)自啟的方法和實(shí)例
1. 準(zhǔn)備一個(gè)Shell腳本
#!/bin/sh #chkconfig: 2345 22 80 #description: Filebeat Service echo "start test ..."; touch /data/aaa.txt sleep 3 echo "test over ..."
1.1 注意
#!/bin/sh #chkconfig: 2345 22 80 #description: Filebeat Service
這三行必須放在腳本前三行。否則可能會(huì)出現(xiàn) 服務(wù) xxx.sh 不支持 chkconfig
或者 service xxx.sh does not support chkconfig
2. 復(fù)制腳本到init.d目錄
如果腳本沒(méi)有做統(tǒng)一管理的話(huà),也可以直接在init.d目錄下創(chuàng)建腳本。
# 注意這里腳本路徑改成自己的路徑,如果直接在init.d目錄下創(chuàng)建的可忽略這條命令 cp /data/test.sh /etc/init.d/test.sh
3. 設(shè)置腳本權(quán)限
chmod +x /etc/init.d/test.sh
4. 添加服務(wù)
chkconfig --add test.sh
執(zhí)行無(wú)效的話(huà) 嘗試切換到 /etc/init.d/
目錄下執(zhí)行。
5. 測(cè)試是否成功添加
# test.sh 換成你自己的腳本名 chkconfig --list test.sh
2345 開(kāi)啟則成功添加開(kāi)機(jī)自啟。
以下為補(bǔ)充科普,可不看
6. 設(shè)置Shell腳本開(kāi)機(jī)自啟的方法和實(shí)例
在Linux系統(tǒng)中,自啟動(dòng)腳本是管理和配置系統(tǒng)的重要手段之一。本章節(jié)將介紹如何設(shè)置Shell腳本在系統(tǒng)啟動(dòng)時(shí)自動(dòng)運(yùn)行,并將關(guān)注于不同Linux系統(tǒng)下的實(shí)現(xiàn)方法。
6.1 Shell腳本自啟動(dòng)原理
Shell腳本的自啟動(dòng)可以通過(guò)將腳本添加到系統(tǒng)啟動(dòng)時(shí)執(zhí)行的目錄或通過(guò)系統(tǒng)服務(wù)管理器實(shí)現(xiàn)。下面將分別介紹這兩種方法的原理。
6.1.1 添加到啟動(dòng)目錄
Linux系統(tǒng)在啟動(dòng)時(shí)會(huì)自動(dòng)執(zhí)行特定目錄中的腳本文件。通過(guò)將Shell腳本添加到這些目錄中,可以實(shí)現(xiàn)開(kāi)機(jī)自啟動(dòng)。
- /etc/rc.d/rc.local目錄: 在一些傳統(tǒng)的Linux發(fā)行版中,可以將腳本添加到
/etc/rc.d/rc.local
文件中。這個(gè)文件在系統(tǒng)啟動(dòng)時(shí)最后被執(zhí)行,可以用于自定義啟動(dòng)腳本。
# 將腳本路徑添加到rc.local文件 echo "/path/to/your/script.sh" >> /etc/rc.d/rc.local chmod +x /etc/rc.d/rc.local
6.1.2 使用系統(tǒng)服務(wù)管理器
現(xiàn)代Linux系統(tǒng)通常使用systemd或其他服務(wù)管理器來(lái)控制系統(tǒng)服務(wù)。通過(guò)創(chuàng)建一個(gè)systemd服務(wù)單元,可以方便地管理Shell腳本的自啟動(dòng)。
- 創(chuàng)建systemd服務(wù)單元文件:
# /etc/systemd/system/your-service.service [Unit] Description=Your Service Description After=network.target [Service] ExecStart=/path/to/your/script.sh Restart=always User=your_username [Install] WantedBy=multi-user.target
- 啟用并啟動(dòng)服務(wù):
# 啟用服務(wù) sudo systemctl enable your-service # 啟動(dòng)服務(wù) sudo systemctl start your-service
6.2 不同Linux系統(tǒng)的具體實(shí)現(xiàn)方法
6.2.1 Ubuntu/Debian
在Ubuntu和Debian系統(tǒng)中,可以通過(guò)systemd服務(wù)管理器實(shí)現(xiàn)Shell腳本的自啟動(dòng)。
# 創(chuàng)建systemd服務(wù)單元文件 sudo nano /etc/systemd/system/your-service.service
在文件中添加上述提到的服務(wù)單元內(nèi)容,保存并退出。然后啟用并啟動(dòng)服務(wù)。
sudo systemctl enable your-service sudo systemctl start your-service
6.2.2 CentOS/RHEL
在CentOS和RHEL系統(tǒng)中,可以使用systemd或?qū)⒛_本添加到/etc/rc.d/rc.local
文件。
使用systemd
# 創(chuàng)建systemd服務(wù)單元文件 sudo nano /etc/systemd/system/your-service.service
添加服務(wù)單元內(nèi)容,保存并退出,然后啟用并啟動(dòng)服務(wù)。
sudo systemctl enable your-service sudo systemctl start your-service
添加到rc.local
# 將腳本路徑添加到rc.local文件 echo "/path/to/your/script.sh" >> /etc/rc.d/rc.local chmod +x /etc/rc.d/rc.local
6.2.3 Arch Linux
Arch Linux也使用systemd作為服務(wù)管理器。同樣,可以通過(guò)創(chuàng)建systemd服務(wù)單元文件實(shí)現(xiàn)自啟動(dòng)。
# 創(chuàng)建systemd服務(wù)單元文件 sudo nano /etc/systemd/system/your-service.service
添加服務(wù)單元內(nèi)容,保存并退出,然后啟用并啟動(dòng)服務(wù)。
sudo systemctl enable your-service sudo systemctl start your-service
以上就是設(shè)置Shell腳本開(kāi)機(jī)自啟的方法和實(shí)例的詳細(xì)內(nèi)容,更多關(guān)于Shell腳本開(kāi)機(jī)自啟的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Linux 查看內(nèi)存插槽數(shù)、最大容量的方法
下面小編就為大家?guī)?lái)一篇Linux 查看內(nèi)存插槽數(shù)、最大容量的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05給定鏈表中間節(jié)點(diǎn)指針,刪除中間節(jié)點(diǎn)的方法
本文實(shí)現(xiàn)算法來(lái)刪除單鏈表中的中間節(jié)點(diǎn),只知道指向該節(jié)點(diǎn)中間節(jié)點(diǎn)的指針,大家可以參考使用2013-11-11Linux Shell 常見(jiàn)的命令行格式簡(jiǎn)明總結(jié)
這篇文章主要介紹了Linux Shell 常見(jiàn)的命令行格式簡(jiǎn)明總結(jié),非常實(shí)用,需要的朋友可以參考下2014-04-04