繁体   English   中英

将脚本设置为在Linux启动时自动启动

[英]Set script to auto-start when Linux boots

我已经使用Maven appassembler插件围绕Java Spring应用程序“ myapp”生成Linux包装器脚本。

然后,我得到以下目录结构:

/home/myapp/platform/bin/myapp       <== Script that I start manually

myapp脚本具有“ -rwxr-xr-x”权限,所有者设置为“ myapp:myapp”,脚本设置为以用户“ myapp”运行(在构建时通过Maven设置进行设置)。

现在从根目录发出以下命令:

$ sudo ln -s /home/myapp/platform/bin/myapp /etc/init.d/service_myapp

它创建一个具有“ lrwxrwxrwx”权限和“ root:root”作为所有者的符号链接,并指向我的myapp脚本。 我认为足以在启动时执行此脚本。 但是,它似乎没有运行。 如果我像这样手动运行它:

$ cd /etc/init.d/
$ ./service_myapp

然后系统会提示我输入密码,然后再执行。

谁能解释这里发生的事情和/或我做错了什么?

我也尝试过这个:

$ cd /etc/init.d/
$ update-rc.d service_myapp defaults 20

但是得到这个:

update-rc.d: warning: /etc/init.d/service_myapp missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
 Adding system startup for /etc/init.d/service_myapp ...
   /etc/rc0.d/K20service_myapp -> ../init.d/service_myapp
update-rc.d: symlink: Permission denied

提示您输入密码,因为脚本中的某些命令可能需要root用户。

另外,在运行update-rc.d时,您需要是root用户:

sudo update-rc.d service_myapp defaults 20

最后,您的脚本必须为SysV格式,并支持startstoprestartforce-reloadstatus命令。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM