在启动时运行 Linux 脚本

在启动时运行 Linux 脚本

尽管我在 /etc/rc0 目录中创建了一个文件,让它在启动时运行,但我并没有执行它。相反,当在 /etc/rc6 目录中创建了相同的文件时,它会在关机时执行。

K99startup.sh->../init.d/startup.sh*

我正在使用 Ubuntu 12.04

答案1

您可以从/etc/rc.local正确的位置调用该脚本,以便自定义脚本在启动时运行。

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

/usr/local/bin/your-script

exit 0

答案2

重启时使用运行级别 6。http://www.debian-administration.org/articles/212

尝试使用 /etc/rc2.d 并将其命名为 S99startup.sh,S 前缀代表 Start,K 前缀代表 Kill。

答案3

这很正常。Linux 运行级别 6 是重启/关机。您要查找的是运行级别 3 或/和 5。

管理启动脚本的标准工具是查配置或者更新文件。但如果你想“处于边缘”,你可以使用暴发户- 这是前段时间在 Ubuntu 中提出的。

Upstart 作业位于/etc/init- 您只需复制现有作业并将其用作示例/模板,即可为您的脚本编写自己的作业。大多数人建议查看/etc/init/mysql.conf并从那里开始。

相关内容