例如,我需要在启动时执行以下脚本
service httpd start service mysqld start service sshd start service pure-ftpd start /usr/local/bin/noip2 start
我不想在每个程序的init.d文件夹中创build一个别名。 相反,我可以让一个文本文件,所有这些被称为。 那会容易得多。 谢谢!
您不需要脚本来启动te服务。 在基于RedHat的发行版(这是它看起来你正在使用),运行这个:
chkconfig servicename on
会自动创build适合启动的符号链接(在这种情况下(3到5))。在基于debian的发行版中,您可以执行
update-rc.d servicename defaults
做同样的事情。 实际上,您也可以使用此工具重新排列优先顺序:
update-rc.d servicename defaults 91
随着暴发户(这是当前版本的Ubuntu使用什么和红帽是什么),你甚至可以添加依赖,以便一个进程将启动后,只有特定的服务了。 更多信息:
http://upstart.ubuntu.com/
无论如何,如果你不想使用这两种机制,你总是可以使用/etc/rc.local来启动你的脚本。 除非有非常好的理由,否则只要使用发行版已经提供的工具就可以了 – 它可能比您能提供的更好。
用你的命令创build一个脚本,然后像下面这样用@reboot添加一个cron作业:
crontab -e
@reboot / path / to / script
您可以将这些行添加到/etc/rc.local 。 请注意,它以“root”身份运行。
你可以把一个单独的脚本放在init.d文件夹中。 我做了类似的工作,它非常有效。
标记为移到服务器错误。
创build一个包含这些命令的bash脚本,并将其放在/etc/init.d/目录中。
可以说你把它叫做FOO。 你然后运行
% update-rc.d FOO defaults
你也必须使你创build的文件,FOO,可执行,使用
$chmod +x FOO
http://embraceubuntu.com/2005/09/07/adding-a-startup-script-to-be-run-at-bootup/