Linux、UNIX設定開機自動執行命令、指令碼配置

尛樣兒發表於2010-07-24

方法一:
編輯/etc/rc.d/rc.local
加入要執行的命令。
如:
[root@rhel5 rc.d]# cat 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
vncserver :1

注意:
此種方法只適合在linux上試用,其他HP,AIX並不使用。以下的2種方法相對來說是通用的,其他UNIX系統同樣適用。

在使用第二種、第三種方法之前需要了解一下inittab配置檔案。
http://space.itpub.net/370491/viewspace-216955


方法二:
1.在/etc/init.d/下建立一個檔案test,加入執行內容。
2.修改執行許可權:
chown 777 test
3.建立連結:
ln -s /etc/init.d/test /etc/rc.d/rc3.d/S900test

注意:
1.注意對test檔案加入執行許可權。
2.在建立連結的時候一定使用絕對路徑。
3.此種方法的重點並不在於test存放在/etc/init.d目錄下(一般我們將要隨系統自動啟動的指令碼都放在此目錄下),而是建立的連結檔案S900test放在/etc/rc.d/rc3.d目錄下。
原因:
1.執行級別:
[root@rhel5 rc.d]# runlevel
N 3

2.inittab預設配置:
l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3 (啟動時會等待將/etc/rc.d/rc3.d目錄下的所有命令執行完成。)
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6

方法三:
這種方法跟上一種方法其實本質是相同的,都是源自inittab配置檔案。
可以直接修改/etc/inittab
加入:
test:35:wait:/bin/echo "123456" > /aaa 2>&1

這樣在啟動時系統也會等待/bin/echo "123456"命令執行結束。

注意:
1.:wait:為關鍵字,意為等待命令執行結束。不要寫成其他或者寫錯了。
2.在使用命令或寫執行指令碼的時候,最後執行絕對路徑。如/bin/echo 而不要光寫個echo。

如果我們是HP-UX或者是IBM AIX,我們可以使用第二種或者第三種方法。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23135684/viewspace-668924/,如需轉載,請註明出處,否則將追究法律責任。

相關文章