zoukankan      html  css  js  c++  java
  • 部署到Linux并配置Java定时任务

    Java项目部署到Linux并配置定时任务

    https://blog.csdn.net/u013850277/article/details/53447391

    1、在Eclipse中将程序开发好,并进行编译成.class文件

    2、在linux中创建对应的目录,本人在linux中创建StatShareDataProject 目录用来存放程序,同时在这个目录下创建如下所示的一些目录与文件,其中srcData程序中所要用的数据,log日志目录,lib 程序所用的jar包,将程序运行所需要的文件移动到对应的目录
    这里写图片描述
    本人程序在Eclipse中的目录发下,因而在linux下同样是创建entity,main,utils目录
    这里写图片描述

    3、linux的目录创建好便可将eclipse编译好的.class文件上传到对应的目录
    eg:
    这里写图片描述

    4、接下来便是编写启停脚本
    这里写图片描述
    内容如下:

    !/bin/sh

    source /etc/profile
    NAME=StatShareDataProject
    echo "—-Kill $NAME—-"
    ID= ps -ef | grep "$NAME" | grep -v "$0" | grep -v "grep" | awk '{print $2}'
    echo $ID
    for id in $ID
    do
    kill -9 $id
    echo "kill $id"
    done
    echo "—-!!—-"
    cd /root/yechunbo/project/StatShareDataProject
    JAVA_OPTS="-server -Xms256m -Xmx1024m -XX:-UseGCOverheadLimit -DappName=StatShareDataProject -Djava.rmi.server.hostname=127.0.0.1 -Djava.NET.preferIPv4Stack=true -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:Pa
    rallelGCThreads=8"
    nohup java -classpath .:./lib/commons-codec-1.6.jar:./lib/commons-logging.jar:./lib/dom4j-1.6.1.jar:./lib/commons-lang-2.4.jar:./lib/commons-logging-1.1.1.jar:./lib/fluent-hc-4.2.5.jar:./lib/httpclient-4.2.5.j
    ar:./lib/httpclient-cache-4.2.5.jar:./lib/httpcore-4.2.4.jar:./lib/httpmime-4.2.5.jar:./lib/json-20080701.jar:./lib/jsoup-1.9.2.jar:./lib/json-lib-2.2.3-jdk15.jar:./lib/jxls-core-1.0.jar:./lib/statShare.jar:./
    lib/log4j-1.2.17.jar $JAVA_OPTS main.StatBasicData &
    18
    注意:$JAVA_OPTS main.StatBasicData 这个是对应要启动的类,这里main.StatBasicData :main对应的是目录,StatBasicData 对应的是目录下的类名,StatBasicData .class中又有对应的main方法;
    这里.:./lib/commons-codec-1.6.jar …就是该程序运行所需要的jar包

    stop.sp脚本
    这里写图片描述

    内容如下:

    !/bin/sh

    NAME=StatShareDataProject
    echo "—-Kill $NAME—-"
    ID=ps -ef | grep "$NAME" | grep -v "$0" | grep -v "grep" | awk '{print $2}'
    echo $ID
    for id in $ID
    do
    kill -9 $id
    echo "kill $id"
    done
    echo "—-!!—-"
    5、编写完启停脚本就可运行
    这里写图片描述

    看到程序正常运行输出的日志便算程序部署成功了。

    6、测试stop.sh
    这里写图片描述

    7、配置定时任务
    这里写图片描述

    观察定时任务的执行结果

    注意:
    在配置定时任务时,出现了定时任务有执行但是程序并没有运行,但是通过手动运行程序时程序却可以正常运行,后来发现是脚本编写的有问题。之前编写的脚本是通过将整个程序打包成jar包这种方式来运行,发现定时任务执行不了这种方式的脚本才换用如上形式。
    通过定时任务执行程序时nohup.out是不会有输出的,手工执行才在nohup.out中有对应的输出。

  • 相关阅读:
    objective c 中基本类型的操作
    [转载]Server.MapPath和Request.MapPath()的用法
    [转载]mstsc远程报:这可能是由于CredSSP 加密Oracle修正的两种完美解决方法
    [转载]忘记token怎么加入k8s集群
    ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded; 的解决办法
    [转载]AutoMapper 9.0的改造
    [转载]k8s注册节点提示Docker SystemdCheck]: detected cgroupfs" as the Docker cgroup dr iver. The r ecommended dr fiver is" systemd"
    [转载]Linux的Vi命令详解
    [转载]查看虚拟机里的Centos7的IP
    [转载]centos关闭swap分区
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/9431871.html
Copyright © 2011-2022 走看看