方法一:
编辑 / 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 系统同样适用。
方法二:
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,我们可以使用第二种或者第三种方法。