在 Ubuntu 系统启动时运行 Jar 文件

在 Ubuntu 系统启动时运行 Jar 文件

我正在尝试让 .jar 文件在 Ubuntu 机器上启动时运行,但没有任何进展。我尝试了这里的说明https://askubuntu.com/questions/99232/how-to-make-a-jar-file-run-on-startup-and-when-you-log-out,我尝试使用 Upstart 网站和指南中的信息,但都没有用。我尝试了旧的 SysV 和新的 Upstart 方法,但它们都没有在系统启动时启动 .jar。

这是运行 .jar 的 shell 脚本

#!/bin/bash

java -jar TransformationServer.jar

SysV 启动方法的文件

#!/bin/bash
# Transformation Server
# 
# Description: Transforms incoming messages on a given port and forwards them

case $1 in
    start)
        /bin/bash /usr/local/bin/ServerStart.sh
    ;;
    stop)
        /bin/bash /usr/local/bin/ServerStop.sh
    ;;
    restart)
        /bin/bash /usr/local/bin/ServerStop.sh
        /bin/bash /usr/local/bin/ServerStart.sh
    ;;
esac
exit 0

UpStart 方法

# transformationserver - transforms incoming http messages, and redirects them
#
# This service intercepts incoming http messages on a given port, and
# transforms them into an acceptable format in order to be received
# by a 3rd party service

start on runlevel [345]
stop on runlevel [!2345]

respawn

script
    exec /bin/bash /home/ubuntu/TransformationServer/ServerStart.sh
    # Also trying the below as well
    #exec /bin/java -jar /home/ubuntu/TransformationServer/TransformationServer.jar
end-script

有经验的人能帮我看一下我的文件,并给我指出正确的方向吗?这项服务是必需的,这样我们的公司系统才能成功接收来自我们某个客户的通信。

提前致谢。

答案1

您如何使用 crontab?

作为您想要运行 jar 的用户,运行以下命令:

crontab -e

添加以下行:

@reboot /path/to/your/ServerStart.sh

保存它。这样当服务器重新启动后,它将运行您的 shell 脚本。

这是你的 crontab,你可以使用以下命令了解所有信息男人crontab,或维基百科页面:https://en.wikipedia.org/wiki/Cron

相关内容