iT邦幫忙

0

opensuse linux如何設定開機後自動執行.sh

power1 2011-01-08 11:26:0112549 瀏覽

因opensuse linux跟fedora不一樣,因為opensuse沒有/etc/rc.d/rc.local可作編輯,到goole找過相關的訊息只發現opensuse可以試著vi /etc/init.d/boot.local這個檔案,如果不行就要去/etc/init.d裡自己編寫一個script後利用chkconfig來控制,而我試過vi /etc/init.d/boot.local結果重開後無法執行,因此想向各位請教rc script要怎麼寫,是否有教學,謝謝

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

11
shortie
iT邦新手 5 級 ‧ 2011-01-08 19:32:54
最佳解答
  1. 複製 /etc/init.d/skeleton 檔案成新的檔案 (如: /etc/init.d/mylocal)
  2. 將 # Required-Start: 後方的設定修改為 $ALL
  3. 把你所需要執行的指令放入 start) 區塊中
  4. chmod +x /etc/init.d/mylocal
  5. insserv mylocal 或是 yast2 > System > Runlevel editor > mylocal > Enable

步驟大致是如此.

看更多先前的回應...收起先前的回應...
power1 iT邦新手 2 級 ‧ 2011-01-08 21:36:24 檢舉

步驟3有點不清楚,start)區塊如下
start)
echo -n "Starting FOO "

Start daemon with startproc(8). If this fails

the return value is set appropriately by startproc.

/sbin/startproc $FOO_BIN

Remember status and be verbose

rc_status -v
;;

而我開機自動要執行的程式為/usr/local/tomcat/bin/startup.sh
請問我放在那裡,謝謝。

shortie iT邦新手 5 級 ‧ 2011-01-09 00:49:57 檢舉

skeleton 是個樣板, 如果不想改太多, 按照樣板的格式可以這樣做:

  1. FOO_BIN 那一行改成 TOMCAT_BIN=/usr/local/tomcat/bin/startup.sh
  2. FOO_CONFIG 這一行如果您不需要可以直接砍掉, 如果需要的話可以改成 TOMCAT_CONFIG=/etc/....
  3. "Starting FOO " 改成 "Starting TOMCAT "
  4. /sbin/startproc $FOO_BIN 改成 /sbin/startproc $TOMCAT_BIN

覺得這樣太麻煩, 也可以將它整個翻掉, 按照自己的意思寫, 這就要看你對 shell script 的理解了.

有空的話, http://en.opensuse.org/Portal:Documentation 裡面的東西也要加減逛一下.

power1 iT邦新手 2 級 ‧ 2011-01-09 22:11:18 檢舉

我依照你的方式修改後,下/etc/init.d/tomcat start會出現失敗,因此我修改start)的內容,內容如下
start)
echo -n "Starting TOMCAT "
/usr/bin/sh $TOMCAT_START
rc_status -v
;;
修改成這樣就可以使用/etc/init.d/tomcat start 啓動成功,但是重開機則不會自動啓動

power1 iT邦新手 2 級 ‧ 2011-01-13 22:00:18 檢舉

感謝,已經解決問題了。

我要發表回答

立即登入回答