溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何實(shí)現(xiàn)CentOS開機(jī)自動(dòng)運(yùn)行自己的腳本

發(fā)布時(shí)間:2021-09-23 09:53:12 來(lái)源:億速云 閱讀:219 作者:小新 欄目:系統(tǒng)運(yùn)維

這篇文章將為大家詳細(xì)講解有關(guān)如何實(shí)現(xiàn)CentOS開機(jī)自動(dòng)運(yùn)行自己的腳本,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

操作系統(tǒng):CentOS-5.2

目標(biāo):開機(jī)自動(dòng)掛載局域網(wǎng)中windows的共享目錄

一、root權(quán)限編輯/etc/rc.d/rc.local

Shell代碼  如何實(shí)現(xiàn)CentOS開機(jī)自動(dòng)運(yùn)行自己的腳本

su  
cd /etc/rc.d/  
vi rc.local

二、在這個(gè)文件加上你要執(zhí)行的腳本,全部?jī)?nèi)容如下:

Shell代碼  如何實(shí)現(xiàn)CentOS開機(jī)自動(dòng)運(yùn)行自己的腳本

#!/bin/sh  
#  
# This script will be executed *after* all the other init scripts.  
# You can put your own initialization stuff in here if you don't  
# want to do the full Sys V style init stuff.  
   
touch /var/lock/subsys/local  
mount //192.168.0.3/data2-1 /mnt/data2-1 -o username=un,password=123  
mount //192.168.0.3/data2-2 /mnt/data2-2 -o username=un,password=123  
mount //192.168.0.3/data2-3 /mnt/data2-3 -o username=un,password=123  
mount //192.168.0.3/data2-4 /mnt/data2-4 -o username=un,password=123  
mount //192.168.0.3/data2-5 /mnt/data2-4 -o username=un,password=123

提示:這里的做法很不成熟,希望不要這樣,最好自己寫個(gè)腳本文件在這里來(lái)調(diào)用,結(jié)構(gòu)更清晰,但是要注意到是把要執(zhí)行的命令作為一個(gè)參數(shù)傳遞給su。

另外復(fù)習(xí)一個(gè)VI編輯命令-拷貝

yy

p

三、雖然搞定,還是補(bǔ)充一下

Linux在啟動(dòng)時(shí),會(huì)自動(dòng)執(zhí)行/etc/rc.d目錄下的初始化程序,因此我們可以把啟動(dòng)任務(wù)放到該目錄下,有下列辦法:

方案一:

比較簡(jiǎn)單,就是上面的做法,/etc/rc.d/目錄下的初始化程序很多,rc.local是在完成所有初始化之后執(zhí)行的,所以在這里做手腳很合適。

方案二:

init.d目錄下都為可執(zhí)行程序,他們其實(shí)是服務(wù)腳本,按照一定格式編寫,Linux 在啟動(dòng)時(shí)會(huì)自動(dòng)執(zhí)行,類似Windows下的服務(wù)。

1、編寫如下面的腳本simpleTest:

Shell代碼  如何實(shí)現(xiàn)CentOS開機(jī)自動(dòng)運(yùn)行自己的腳本

#!/bin/bash  
#chkconfig:2345 80 05 --指定在哪幾個(gè)級(jí)別執(zhí)行,0一般指關(guān)機(jī),6指的是重啟,其他為正常啟動(dòng)。80為啟動(dòng)的優(yōu)先級(jí),05為關(guān)閉的優(yōu)先級(jí)別  
#description:simple example service  
RETVAL=0  
start(){ #啟動(dòng)服務(wù)的入口函數(shù)  
echo  "simple example service is started..."  
}  
  
stop(){ #關(guān)閉服務(wù)的入口函數(shù)  
echo  "simple example service is stoped..."  
}  
  
#使用case選擇  
case $1 in  
start)  
start  
;;  
stop)  
stop  
;;  
*)  
echo "error choice ! please input start or stop";;  
esac  
exit $RETVA

3、運(yùn)行chmod +x /etc/rc.d/init.d/simpleTest,使之可直接執(zhí)行

4、運(yùn)行chkconfig --add simpleTest,把該服務(wù)添加到配置當(dāng)中

5、運(yùn)行chkconfig --list simpleTest,可以查看該服務(wù)進(jìn)程的狀態(tài)

方案三、目的是掛載共享目錄,所以可以在/etc/fstab中加上

//192.168.0.3/data2-1   /mnt/data2-1            nfs     username=un,password=123     0 0

非常不好意思,方案二中雖然腳本可以運(yùn)行

# ./simpleTest start

simple example service is started...

但是我在第4步出現(xiàn)

# chkconfig --add simpleTest

在 simpleTest 服務(wù)中讀取信息時(shí)出錯(cuò):沒有那個(gè)文件或目錄

沒有進(jìn)一步解決抱歉。

關(guān)于“如何實(shí)現(xiàn)CentOS開機(jī)自動(dòng)運(yùn)行自己的腳本”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI