一、root權限編輯/etc/rc.d/rc.local
- su
- cd /etc/rc.d/
- vi rc.local
- #!/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
提示:這里的做法很不成熟,希望不要這樣,最好自己寫個腳本文件在這里來調用,結構更清晰,但是要注意到是把要執行的命令作為一個參數傳遞給su。
三、雖然搞定,還是補充一下
Linux在啟動時,會自動執行/etc/rc.d目錄下的初始化程序,因此我們可以把啟動任務放到該目錄下,有下列辦法:
方案一:
比較簡單,就是上面的做法,/etc/rc.d/目錄下的初始化程序很多,rc.local是在完成所有初始化之后執行的,所以在這里做手腳很合適。
方案二:
init.d目錄下都為可執行程序,他們其實是服務腳本,按照一定格式編寫,Linux 在啟動時會自動執行,類似Windows下的服務。
1、編寫如下面的腳本simpleTest:
- #!/bin/bash
- #chkconfig:2345 80 05 --指定在哪幾個級別執行,0一般指關機,6指的是重啟,其他為正常啟動。80為啟動的優先級,05為關閉的優先級別
- #description:simple example service
- RETVAL=0
- start(){ #啟動服務的入口函數
- echo "simple example service is started..."
- }
- stop(){ #關閉服務的入口函數
- 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、運行chmod +x /etc/rc.d/init.d/simpleTest,使之可直接執行
4、運行chkconfig --add simpleTest,把該服務添加到配置當中
5、運行chkconfig --list simpleTest,可以查看該服務進程的狀態
方案三、目的是掛載共享目錄,所以可以在/etc/fstab中加上
//192.168.0.3/data2-1 /mnt/data2-1 nfs username=un,password=123 0 0
非常不好意思,方案二中雖然腳本可以運行
# ./simpleTest start
simple example service is started...
但是我在第4步出現
# chkconfig --add simpleTest
在 simpleTest 服務中讀取信息時出錯:沒有那個文件或目錄
沒有進一步解決抱歉。