如何在每次启动时运行自己的脚本

时间:2012-03-26 12:20:56

标签: linux bash ubuntu startup

我有一个问题,如何在Ubuntu的每个启动时运行我自己的bash脚本。假设我有一个正在做特定工作的脚本。现在我希望它在启动我的Ubuntu系统时自动运行。

4 个答案:

答案 0 :(得分:5)

您应该学习如何使用暴发。请参阅this

答案 1 :(得分:1)

目前,Linux系统(包括Ubuntu)支持两种实现此目的的方法:Upstart和SysV脚本。新贵是“新”的方式。

生成SysV脚本可以这样实现:

update-rc.d <your script> defaults

这将生成在运行级别2345中启动服务的链接,并在运行级别016中停止服务,并将在 /etc/rc?.d /

另一种方式是写一个暴发户的工作。 Upstart jobs位于 / etc / init 下。 最简单的方法是复制现有作业并尝试为脚本修改它。这是upstart stanzas解释的。

答案 2 :(得分:0)

有两种选择。简单的一个,编辑/etc/rc.local并从那里调用你的脚本。另一种选择是使用upstart。快看看/etc/init/hostname.conf。您可以将该文件用作模板,将其复制为/etc/init/yourscript.conf,调整内容,它应该可以正常工作。

答案 3 :(得分:0)

我最近遇到过这样一种情况:理想情况下,一项工作是以upstart开始的,另一项是rc.local。虽然这两种方法都可以让你的脚本执行,但是在开始时守护脚本时,upstart更有意义;另一方面,rc.local让脚本运行。

例如,如果脚本已经是守护进程,例如一个服务器,它可以由rc.local调用,因为它不会停留在前台并阻塞终端。

但是如果脚本本身没有守护进程,那么upstart将使它能够在系统事件时优雅地启动和停止。这适用于在后台运行不存在的PHP脚本。虽然你可以使用upstart运行,比如Apache httpd,但这个过程会在Upstart的眼中立刻“退出”,这使得Upstart毫无意义,因为它已经“终止”了。