編寫乙個開機自啟動路由服務,拿走不謝!

2021-08-25 14:04:24 字數 2930 閱讀 7424

第一步、

#!/bin/sh

# route this is a route ----單純的乙個純注釋

# chkconfig: - 99 10

# description: route

chkconfig: 設定的三個值是必須的。這個跟我們的啟動服務順序有關。這行告訴chkconfig預設啟動的執行級以及啟動和停止的優先順序。如果某服務預設不在任何執行級啟動,那麼使用-代替執行級。數字越低優先順序越高。本例中,開機時由於路由設定與其他服務的依賴關係不大,放在後面啟動(設定為99)。相應的,開機最後啟動的服務應在關機的時候最先關閉(避免依賴關係導致的服務無法關機)(設定為10)。

description這一行也是必不可少的。雖然這行是注釋行,但其他檔案會擷取這行內容進行判斷等處理。

第二步、編輯route檔案

#!/bin/sh

# route this is a route

## chkconfig: - 99 10

# description: route

. /etc/rc.d/init.d/functions //方便我們呼叫action函式,實現綠色的ok,紅色的false

#開啟服務

start()

#關閉服務

stop()

#stop:關閉路由服務 start:開啟路由服務 restart:重啟路由服務 status:列出路由表

case $1 in

stop)stop;;

start)

if route -n |grep 1.1.1.0 &> /dev/null ;then

action "route already exit!" false

exit 1;

else

start

fi ;;

restart)stop;start;;

status)route -n;;

*)echo "error";;

esac

第三步、增加服務

1、在增加服務前,我們先檢視一下/etc/rc?.d

ls /etc/rc?.d/*route*

啥也沒有就對了!因為我們還沒有增加服務呢!

2、然後我們新增服務

chkconfig --add route

ls /etc/rc?.d/*route* //再檢視一下/etc/rc?.d/有沒包含route的檔案

/etc/rc0.d/k10route

/etc/rc1.d/k10route

/etc/rc2.d/k99route

/etc/rc3.d/k99route

/etc/rc4.d/k99route

/etc/rc5.d/k99route

/etc/rc6.d/k10route

哈哈有檔案了!

3、chkconfig route on ---在chkconfig工具服務列表中增加此服務,此時服務會被在/etc/rc.d/rcn.d中賦予k/s入口了;

chkconfig route on

ls /etc/rc?.d/*route* -1

/etc/rc0.d/k10route

/etc/rc1.d/k10route

/etc/rc2.d/s99route

/etc/rc3.d/s99route

/etc/rc4.d/s99route

/etc/rc5.d/s99route

/etc/rc6.d/k10route

對比一下上一步,檔名的k、s發生了變化。離成功就差最後一步了!

最後一步、重啟

reboot
重啟完成後,檢視一下路由表吧   ^_^

[root@localhost init.d]# route -n

kernel ip routing table

destination gateway genmask flags metric ref use iface

192.168.32.0 0.0.0.0 255.255.255.0 u 1 0 0 eth1

1.1.1.0 192.168.32.167 255.255.255.0 ug 0 0 0 eth1

172.18.0.0 0.0.0.0 255.255.0.0 u 0 0 0 ethmage

169.254.0.0 0.0.0.0 255.255.0.0 u 1002 0 0 ethmage

0.0.0.0 172.18.0.1 0.0.0.0 ug 0 0 0 ethmage

1.1.1.0/24路由已經新增上去啦。

注:您也可以嘗試著用service命令開啟或者關閉服務

[root@localhost init.d]# service route start

route already exit! [failed]

[root@localhost init.d]# service route stop

route already delete! [ ok ]

有沒有受到啟發^_^試著做做其他的開機自啟服務吧。

Linux 設定服務自啟動的乙個方式

降低許可權 chmod x etc rc.d rc.local需要開機啟動自己的指令碼時,只需要將可執行指令碼丟在 etc init.d目錄下,然後在 etc rc.d rc 0 6 d 中建立軟鏈結 將 var www nexus nexus 3.15.2 01 bin nexus 開機自動啟動 ...

新增乙個Ubuntu的開機啟動服務。

新增乙個ubuntu的開機啟動服務。如果要新增為開機啟動執行的指令碼檔案,可先將指令碼複製或者軟連線到 etc init.d 目錄下,然後用 update rc.d defaults nn命令 nn為啟動順序 將指令碼新增到初始化執行的佇列中去。注意如果指令碼需要用到網路,則nn需設定乙個比較大的數...

讓centos開機啟動乙個程式

為了讓 apache apollo在 系統在cent系統開機啟動起來,折騰了蠻久。記下來,其他的要開機啟動的程式也可以這樣執行 下邊是折騰過程,都不見效果.一 新增開機自啟服務 在centos7中新增開機自啟服務非常方便,只需要兩條命令 以jenkins為例 systemctl enable jen...