shell脚本触发java程序支持传参补跑_01

一、java程序
1. 创建java项目

idea创建略

2. 创建包结构

com.gblfy.shell

3. 创建java类
package com.gblfy.shell;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * shell脚本触发java程序+linux 定时crontab任务
 * 支持补跑功能
 *
 * @author gblfy
 * @date 2020-12-27
 */
public class MainDeal {

    public static void main(String args[]) {

        if (args.length < 1) {
            //场景1: 当参数为空,获取当前日期开始处理业务
            System.out.println("没有接收到参数");
            //获取当前日期
            String currentDate = getCurrentDate();
            System.out.println("开始获取当前日期:"+currentDate);
        } else {
            //场景2: 当参数为空,获取当前日期开始处理业务
            System.out.println("开始补跑: " + args[0]+"这天的数据");
        }
    }

    /**
     * 获取当前日期
     *
     * @return
     * @throws ParseException
     */
    public static String getCurrentDate() {
        Date tCurrentDate = new Date();
        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        return dateFormat.format(tCurrentDate);
    }
}
4. 编译
5. 编译后的包结构总览
ly.war\WEB-INF\classes\com\gblfy\shell

在这里插入图片描述

二、shell脚本
2.1. 创建基础目录
#1.级联创建/app/ly 用于存放项目
mkdir /app/ly -p
#2.用于存放执行过程中输出的日志
mkdir /app/ly/logs -p
2.2. 上传项目到指定目录

将编译好的项目上传到/app/ly目录下面

2.3. 创建基础脚本
#1.在/app/ly吗,目录下面编写lyshell.sh脚本
vim lyshell.sh
#2.填充内容
cd /app/ly
nohup /app/jdk1.8.0_202/bin/java -cp "./ly.war/WEB-INF/classes" com.gblfy.shell.MainDeal $1> /app/ly/logs/data.log  2>&1
2.4. 赋予脚本执行权限
chmod  u+x lyshell.sh
三、案例测试
3.1. 测试不传参数
[root@localhost ly]# ./lyshell.sh 
[root@localhost ly]# cat logs/data.log 
nohup: ignoring input
没有接收到参数
开始获取当前日期:2020-12-27
[root@localhost ly]# 
3.2. 测试传参数
[root@localhost ly]# ./lyshell.sh 2020-12-25
[root@localhost ly]# cat logs/data.log 
nohup: ignoring input
开始补跑: 2020-12-25这天的数据
[root@localhost ly]# 

下一篇:
shell脚本触发java程序支持传参补跑 +crontab定时器_02
https://gblfy.blog.csdn.net/article/details/111787188

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
package generconfig; import java.io.File; import java.io.IOException; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import org.mybatis.generator.api.MyBatisGenerator; import org.mybatis.generator.config.Configuration; import org.mybatis.generator.config.xml.ConfigurationParser; import org.mybatis.generator.exception.InvalidConfigurationException; import org.mybatis.generator.exception.XMLParserException; import org.mybatis.generator.internal.DefaultShellCallback; import org.springframework.context.support.GenericXmlApplicationContext; import com.pactera.service.schedule.ThreadReadPath; import com.pactera.util.CommTool; /*打包用File->Export->runnable JAR File Export Launch选择对应的类 Export destination 选择地址 Library handling:Copy required */ public class SMSThreadSender { public static void main(String[] args) { if(args.length==0) { System.out.println("短信服务开启,开始加载Spring配置。"); GenericXmlApplicationContext context = new GenericXmlApplicationContext(); context.setValidating(false); context.load("classpath:sysconfig/applicationContext.xml"); context.refresh(); System.out.println("开整·~~~~"); CommTool.smsthreadisruning=true; ThreadReadPath thread = new ThreadReadPath(); thread.smsname="sms"+CommTool.threadid; Thread t1 = new Thread(thread); t1.setName("sms"); t1.start(); System.out.println("已经启动"); } if(args.length==1) { String pfile=args[0]; System.out.println("短信服务开启,开始加载Spring配置。"+pfile); GenericXmlApplicationContext context = new GenericXmlApplicationContext(); context.setValidating(false); context.load(pfile); // context.load("classpath:sysconfig/applicationContext.xml"); context.refresh(); CommTool.smsth

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gblfy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值