我有一个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
它现在看起来很疯狂:就像30行脚本只是为了在启动时运行一个程序.
有没有一种工具可以简单地做到这一点?
问候
如果您的脚本“只是一个脚本”,并且没有启动守护程序,请考虑使用/etc/rc.local(以root身份执行)或crontab(以您的coice用户身份执行).
两个例子:
> /etc/rc.local
#!/bin/sh -e #(Multiple lines of comments removed.) /usr/local/bin/your-script.sh exit 0
> crontab(例如,通过crontab -e编辑)
#(Multiple lines of comments removed.) @reboot /usr/local/bin/your-script.sh
编辑1:只是阅读你的评论:如果你的脚本启动守护进程,它应该一直运行,我建议不要使用rc.local或crontab,而是编写一个正确的(或多个)init.d脚本.这样您/您的系统就能够干净地重新启动/重新加载/启动/停止守护进程等.
编辑2:你称之为疯狂,但LSB标签提供了一些价值:“通过记录init.d脚本的运行时依赖性,可以验证当前的引导顺序,使用这些依赖项命令引导,并运行引导脚本并行加速启动过程.“欲了解更多详情,请访问Debian wiki.
(顺便说一下:这是一个警告,实际上,这取决于你,如何以及如何处理这个问题.)