地址:
http://www.linuxeden.com/html/sysadmin/20111208/117659.html
优点:开机启动的脚本执行过程中的log不会打印出来
注意脚本的最后一个命令最好放入后台运行,即加一个&, 否则机器可能无法正常重启。
1) 将你的启动脚本复制到/etc/init.d目录下
以下假设你的脚本文件名为 test。
2) 设置脚本文件的权限
$ sudo chmod 755 /etc/init.d/test
3) 执行如下命令将脚本放到启动脚本中去:
$ cd/etc/init.d
$ sudoupdate-rc.dtestdefaults 95
注:其中数字95是脚本启动的顺序号,按照自己的需要相应修改即可。在你有多个启动脚本,而它们之间又有先后启动的依赖关系时你就知道这个数字的具体作用了。该命令的输出信息参考如下:
update-rc.d: warning: /etc/init.d/test missing LSB information update-rc.d: see
例如:update-rc.d goagent.sh defaults
update-rc.d: warning: /etc/init.d/goagent.sh missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
Adding system startup for /etc/init.d/goagent.sh ...
/etc/rc0.d/K20goagent.sh -> ../init.d/goagent.sh
/etc/rc1.d/K20goagent.sh -> ../init.d/goagent.sh
/etc/rc6.d/K20goagent.sh -> ../init.d/goagent.sh
/etc/rc2.d/S20goagent.sh -> ../init.d/goagent.sh
/etc/rc3.d/S20goagent.sh -> ../init.d/goagent.sh
/etc/rc4.d/S20goagent.sh -> ../init.d/goagent.sh
/etc/rc5.d/S20goagent.sh -> ../init.d/goagent.sh
将会创建一个link:/etc/rc3.d/S20goagent.sh指向/etc/init.d/goagent.sh, 这样启动运行级3的时候就会执行这个脚本goagent.sh
卸载启动脚本的方法:
update-rc.d: warning: /etc/init.d/goagent.sh missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
Adding system startup for /etc/init.d/goagent.sh ...
/etc/rc0.d/K20goagent.sh -> ../init.d/goagent.sh
/etc/rc1.d/K20goagent.sh -> ../init.d/goagent.sh
/etc/rc6.d/K20goagent.sh -> ../init.d/goagent.sh
/etc/rc2.d/S20goagent.sh -> ../init.d/goagent.sh
/etc/rc3.d/S20goagent.sh -> ../init.d/goagent.sh
/etc/rc4.d/S20goagent.sh -> ../init.d/goagent.sh
/etc/rc5.d/S20goagent.sh -> ../init.d/goagent.sh
将会创建一个link:/etc/rc3.d/S20goagent.sh指向/etc/init.d/goagent.sh, 这样启动运行级3的时候就会执行这个脚本goagent.sh
卸载启动脚本的方法:
$ cd/etc/init.d
$ sudoupdate-rc.d -ftestremove
命令输出的信息参考如下:
Removing any system startup links for /etc/init.d/test ... /etc/rc0.d/K95test /etc/rc1.d/K95test /etc/rc2.d/S95test /etc/rc3.d/S95test /etc/rc4.d/S95test /etc/rc5.d/S95test /etc/rc6.d/K95test