標籤:
3.運行層級指令碼介紹
3.1.運行層級
運行層級介紹:
0 關機
1 單一使用者模式
2 多使用者模式,沒有NFS服務
3 多使用者模式
4 目前還沒有使用
5 X windows 的啟動模式
6 重啟電腦
運行層級對應的目錄(/etc/rcN.d,N是數字0、1、2...)
當前運行層級
用runlevel目錄擷取當前運行層級(運行層級從0開始)
運行層級目錄檔案格式(X是阿拉伯數字,script是指令碼名稱)
SXXscript
表示在這種運行層級下面,這個指令碼的服務是啟動的
KXXscript
表示在這種運行層級下面,這個指令碼的服務是不啟動的
例如在/etc/rc5.d檔案中用 ls 查看裡面的檔案,
有K01kdcrotate、K15httpd、S80isc...檔案
這些檔案都是超連結檔案,連結到 /etc/init.d/ 下面對應的檔案,例如K01kdcrotate連結檔案對應的是 /etc/init.d/ 下面的 kdcrotate 檔案;S80isc 連結檔案對應的是 /etc/init.d/ 下面的 isc 檔案
啟動服務的順序
3.2.inittab開機檔案
運行層級控制檔案(/etc/inittab)
該檔案是linux系統啟動時執行的指令碼
編輯inittab檔案(使用vim /etc/inittab 命令可以開啟該檔案)
例子:在inittab檔案中添加一條語句,使得系統啟動時候就能執行檢查系統磁碟情況的shell指令檔checkdisk.sh
checkdisk::once:/sbin/checkdisk.sh > /dev/console 2>&1 表示在每個運行層級中都執行這條命令,如果要制定在第三運行層級可以這樣:checkdisk:3:once:/sbin/checkdisk.sh > /dev/console 2>&1
3.3.啟動應用程式。通過使用啟動指令碼來使應用程式自動開機啟動,不用再手動啟動
啟動指令碼分析(start|stop|restart)
cat /etc/init.d/crond
以MySQL應用程式為例
MySQL有自己的mysqld指令檔,在安裝MySQL應用程式的時候,將mysqld放到/etc/init.d/目錄下,再在相應的運行層級下面做相應的KXXscript或SXXscript命名格式的超連結
啟動指令碼
方法1:service server start|stop|restart|... server是指指令碼的名字
例子
service mysald start
方法2:script_name start|stop|restart
建立自己的啟動指令碼的方法(可以使用這樣的方法,比如來啟動自己開發的C應用程式)
1.在/etc/init.d/目錄下建立自己的啟動指令檔,參看 /etc/init.d/ 下面已有的啟動指令檔的文法格式來編寫自己的啟動指令碼
2.在/etc/rcN.d/目錄下,也就是在相應的運行層級中用SXXscript或者KXXscript的格式建立對應啟動指令碼的連結
Linux Shell 進階編程技巧3----運行層級指令碼介紹