Debian:如何在启动时运行脚本而不必编写 30 行 shell 脚本?

yar*_*rek 26 debian debian-wheezy

我有一个 Debian 服务器,我只需要在启动时运行一个脚本。

我读到:https : //www.debian-administration.org/article/28/Making_scripts_run_at_boot_time_with_Debian

我现在得到:insserv:警告:脚本'缺少 LSB 标签和覆盖

所以看起来我现在必须添加:

### BEGIN INIT INFO
# Provides:          scriptname
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start daemon at boot time
# Description:       Enable service provided by daemon.
### END INIT INFO
Run Code Online (Sandbox Code Playgroud)

现在看起来很疯狂:就像 30 行脚本只是为了在启动时运行程序。

有没有一种工具可以简单地做到这一点?

问候

gf_*_*gf_ 36

考虑使用/etc/rc.local(以 root 身份执行)或crontab(以您选择的用户身份执行)。

两个例子:

如果您的脚本需要在后台连续运行,我建议不要使用rc.localcrontab,而是编写适当的(或多个)init.d脚本。这样你/你的系统就能够干净地重新启动/重新加载/启动/停止等守护进程。

LSB tags提供一些价值:“通过对记录的init.d脚本运行时的依赖性,就可以使用这些依赖关系来验证当前的引导顺序,秩序引导,并且并行运行启动脚本,以加快引导过程。” 有关更多详细信息,请访问Debian wiki

顺便说一下,缺少的标题:这是一个警告,所以实际上,这取决于您,如何以及如何处理它。

  • 它有效,但我认为它仅适用于 root 用户,因此您必须执行 `@reboot root /usr/local/bin/your-script.sh` (2认同)