方法一:
编辑/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配置文件。
方法二:
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,我们可以使用第二种或者第三种方法。
--转自