shell定时执行脚本启动jar程序的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell定时执行脚本启动jar程序的问题相关的知识,希望对你有一定的参考价值。

写了一个脚本test.sh,直接执行 ./test.sh 没问题,可以正常启动jar包程序,但是利用crontab定时执行(在/etc/crontab文件最后添加了如下: */1 * * * * root /home/test.sh)就是无法启动jar包程序,求大神解答
export JAVA_HOME=/usr/local/java/jdk1.8.0_172
我加了这个就好了,谢谢你了@呐可斯基

在脚本里声明java环境变量,加上下列语句在#! /bin/sh底下,注意.后面有空格
. ~/.bash_profile
. /etc/profile
参考技术A 定时任务加了后重启crond了么

启动Java应用的Shell脚本

参考技术A

  对于Java应用程序(非web应用) 在部署后 常常需要一个启动脚本来加载一些第三方的jar包 并启动应用

  对于java应用程序 我一般喜欢将程序的目录结构写成如下的方式

  myapp

  | lib

  | bin

  | packages

  一些配置文件和属性文件

  一个startup sh 或bat启动脚本

  其中 packages是程序的根包 其中有子包和class文件等

  在包中 有一个Main calss的类 这个作为程序的入口

  下面给出一个最一般的写法

  startup sh #!/bin/sh

  programdir=

  num=$#

  temp=$CLASSPATH

  #setting libs path

  libs= /lib/*

  append()

  temp=$temp : $

  

  for file in $libs; do

  append $file

  done

  export CLASSPATH=$temp: : /:$programdir

  export LANG=zh_CN

  nohup java classpath $CLASSPATH    packaages xxx yyy Main &

  这样 只要按照上面的方式组织程序 启动脚本就需要改动下Main前面的包路径即可

  nohup 上面脚本中最后一行前有nohup 这是将程序的输入输出都将附加到当前目录的 nohup out 文件中

lishixinzhi/Article/program/Java/hx/201311/25993

以上是关于shell定时执行脚本启动jar程序的问题的主要内容,如果未能解决你的问题,请参考以下文章

windows怎么定时执行脚本

shell脚本定时执行php程序

mac下如何用脚本启动jar包程序

启动Java应用的Shell脚本

如何设置PowerShell脚本定时执行

Shell脚本实现每个工作日定时执行指定程序