linux設(shè)置開機(jī)自啟動執(zhí)行命令 :
創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比宣州網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式宣州網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋宣州地區(qū)。費(fèi)用合理售后完善,10年實(shí)體公司更值得信賴。
執(zhí)行命令 : 編輯"/etc/rc.local",添加你想開機(jī)運(yùn)行的命令
運(yùn)行程序腳本 :然后在文件最后一行添加要執(zhí)行程序的全路徑。
例如,每次開機(jī)時(shí)要執(zhí)行一個(gè)hello.sh,這個(gè)腳本放在/usr下面,那就可以在"/etc/rc.local"中加一行"/usr/./hello.sh",或者" cd /opt ./hello.sh "
注意,你的命令應(yīng)該添加在:exit 0 之前
linux在“/etc/rc.d/init.d”下有很多的文件,每個(gè)文件都是可以看到內(nèi)容的,其實(shí)都是一些shell腳本或者可執(zhí)行二進(jìn)制文件 Linux開機(jī)的時(shí)候,會加載運(yùn)行/etc/init.d目錄下的程序,因此我們可以把想要自動運(yùn)行的腳本放到這個(gè)目錄下即可。系統(tǒng)服務(wù)的啟動就是通過這種方式實(shí)現(xiàn)的。
簡單的說,運(yùn)行級就是操作系統(tǒng)當(dāng)前正在運(yùn)行的功能級別。
例:在Ubuntu/debain里,可以使用update-rc.d命令來把示例腳本:/etc/init.d/proxy安裝到各個(gè)runlevel中。
update-rc.d后面有三個(gè)參數(shù),分別是/etc/init.d下的腳本名字,默認(rèn)安裝方式,運(yùn)行的優(yōu)先級。優(yōu)先級的數(shù)字越大,表示越遲運(yùn)行,這里我們把自己寫的服務(wù)放在最后運(yùn)行。
如果要卸載隨機(jī)啟動的服務(wù),執(zhí)行
在update-rc.d安裝的時(shí)候提示了警告信息,是因?yàn)槲覀儗懙?etc/init.d/proxy太簡陋了,只包含了我們想要的命令,連LSB的信息也沒有提供。
只需要對自啟動腳本做一些小改動,就可以避免那個(gè)警告了。如下:
到此,一個(gè)最簡單的隨機(jī)啟動服務(wù)寫好了,看起來文章挺長的,但其實(shí)也就幾個(gè)命令而已。 在下次開機(jī)啟動的時(shí)候,proxy.py就會以root用戶身份被自動運(yùn)行。
在/etc/init.d下新建示例腳本文件(startTest.sh),該腳本會啟動/opt/test.sh。內(nèi)容如下:
寫了腳本文件之后事情還沒有完,繼續(xù)完成以下幾個(gè)步驟:
到底哪些服務(wù)適合開機(jī)自啟動?是很多Linux運(yùn)維在工作中會遇到的問題。其實(shí),只要不影響系統(tǒng)及服務(wù)的運(yùn)行,開多開少也沒關(guān)系。Linux運(yùn)維人員要明確每項(xiàng)服務(wù)的作用,不用的就不安裝,默認(rèn)安裝時(shí)則不開機(jī)自啟動。設(shè)置開機(jī)自啟動服務(wù)的常見方法有哪些?
1)執(zhí)行命令,然后手動選擇處理的方法
方法1:執(zhí)行ntsysv命令,然后在彈出窗口進(jìn)行設(shè)置。
方法2:執(zhí)行setup命令→system service,然后在彈出窗口中進(jìn)行設(shè)置。
2)通過一行命令或She11腳本設(shè)置
在快速設(shè)置前,先查看默認(rèn)情況下Linux系統(tǒng)開啟的服務(wù)有哪些。如果工作在文本模式3級別,那就只需要查找3級別上開啟的服務(wù)即可。了解了系統(tǒng)在3級別上開啟的服務(wù)后,就可以通過命令快速實(shí)現(xiàn)配置了。以下便是幾種通過命令或腳本設(shè)置開機(jī)自啟動的方法。
1:先全關(guān)閉,再開啟需要保留的。
2:一條命令搞定,Shell循環(huán)實(shí)現(xiàn)。默認(rèn)情況下需要保留的服務(wù)都已開啟,因此,關(guān)閉3級別文本模式下已開啟但又不需要的服務(wù)就好了。
3:不要Shell循環(huán)語句也一條命令搞定。默認(rèn)情況下要保留的服務(wù)都已開啟,因此,關(guān)閉3級別文本模式下已開啟但又不需要的服務(wù)就好了,不用循環(huán)結(jié)構(gòu)而是利用命令拼出所有要處理的命令字符串,通過bash將其當(dāng)作命令執(zhí)行。
那么到底將哪些服務(wù)作為開機(jī)自啟動服務(wù)合適?但作為一名優(yōu)秀的Linux系統(tǒng)管理員,應(yīng)該遵守最小化原則,盡量不安裝不使用的軟件、不開啟不需要的服務(wù);這樣系統(tǒng)的性能和安全性才是最好的。
用戶想要在linux開機(jī)的時(shí)候自啟動相關(guān)的程序。那我們要怎么設(shè)置呢?下面由我為大家整理了linux下開機(jī)自啟動命令的相關(guān)知識,希望對大家有所幫助!
linux下開機(jī)自啟動命令
1.開機(jī)啟動時(shí)自動運(yùn)行程序
Linux加載后, 它將初始化硬件和設(shè)備驅(qū)動, 然后運(yùn)行第一個(gè)進(jìn)程init。init根據(jù)配置文件繼續(xù)引導(dǎo)過程,啟動其它進(jìn)程。通常情況下,修改放置在 /etc/rc或 /etc/rc.d 或 /etc/rc?.d 目錄下的腳本文件,可以使init自動啟動其它程序。
例如:編輯 /etc/rc.d/rc.local 文件,在文件最末加上一行"xinit"或"startx",可以在開機(jī)啟動后直接進(jìn)入X-Window。
擴(kuò)展:其他情況下linux自啟動程序命令
2.登錄時(shí)自動運(yùn)行程序
用戶登錄時(shí),bash首先自動執(zhí)行系統(tǒng)管理員建立的全局登錄script :/etc/profile。然后bash在用戶起始目錄下按順序查找三個(gè)特殊文件中的一個(gè):/.bash_profile、/.bash_login、 /.profile,但只執(zhí)行最先找到的一個(gè)。
因此,只需根據(jù)實(shí)際需要在上述文件中加入命令就可以實(shí)現(xiàn)用戶登錄時(shí)自動運(yùn)行某些程序(類似于DOS下的Autoexec.bat)。
3.退出登錄時(shí)自動運(yùn)行程序
退出登錄時(shí),bash自動執(zhí)行個(gè)人的退出登錄腳本/.bash_logout。例如,在/.bash_logout中加入命令"tar -cvzf c.source.tgz *.c",則在每次退出登錄時(shí)自動執(zhí)行 "tar" 命令備份 *.c 文件。
4.定期自動運(yùn)行程序
linux有一個(gè)稱為crond的守護(hù)程序,主要功能是周期性地檢查 /var/spool/cron目錄下的一組命令文件的內(nèi)容,并在設(shè)定的時(shí)間執(zhí)行這些文件中的命令。用戶可以通過crontab 命令來建立、修改、刪除這些命令文件。
例如,建立文件crondFile,內(nèi)容為"00 9 23 Jan * HappyBirthday",運(yùn)行"crontab cronFile"命令后,每當(dāng)元月23日上午9:00系統(tǒng)自動執(zhí)行"HappyBirthday"的程序("*"表示不管當(dāng)天是星期幾)。 (/etc/crontab中配置命令即可)也可以
5.定時(shí)自動運(yùn)行程序一次
定時(shí)執(zhí)行命令at 與crond 類似(但它只執(zhí)行一次):命令在給定的時(shí)間執(zhí)行,但不自動重復(fù)。at命令的一般格式為:at [ -f file ] time ,在指定的時(shí)間執(zhí)行file文件中所給出的所有命令。也可直接從鍵盤輸入命令:
6.創(chuàng)建開機(jī)自啟動腳本
1) 將你的啟動腳本復(fù)制到 /etc/init.d目錄下
以下假設(shè)你的腳本文件名為 test。
2) 設(shè)置腳本文件的權(quán)限
$ sudo chmod 755 /etc/init.d/test
3) 執(zhí)行如下命令將腳本放到啟動腳本中去:
$ cd /etc/init.d
$ sudo update-rc.d test defaults 95
注:其中數(shù)字95是腳本啟動的順序號,按照自己的需要相應(yīng)修改即可。在你有多個(gè)啟動腳本,而它們之間又有先后啟動的依賴關(guān)系時(shí)你就知道這個(gè)數(shù)字的具體作用了。該命令的輸出信息參考如下:
update-rc.d: warning: /etc/init.d/test missing LSB informationupdate-rc.d: see
卸載啟動腳本的方法:
$ cd /etc/init.d
$ sudo update-rc.d -f test remove
命令輸出的信息參考如下:
Removing any system startup links for /etc/init.d/test … /etc/rc0.d/K95test /etc/rc1.d/K95test /etc/rc2.d/S95test /etc/rc3.d/S95test /etc/rc4.d/S95test /etc/rc5.d/S95test /etc/rc6.d/K95test