shell 循环获取最近一段时间日期

背景: 调用远程 RPC 给大数据补数据,大数据缺少最近两个月的数据,所以需要shell 调用 jar 增量获取数据。

调用:  nohup   sh  rangeHttp.sh -h -a LSHSPZ  -d 20220912  > nohup_LSHSPZ.out 2>&1 &

样例: 

#!/bin/bash
#jar包文件名称 LSHSPZ 每天获取最近70天数据
APP_NAME=data-lake-app-1.0.0-SNAPSHOT.jar

#日志文件路径及名称
datenow=$(date "+%Y%m%d%H%M%S")
LOG_FILE=${3}_${datenow}_nohup.out

#查询进程,kill 当前jar/java程序
pid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`

if [ ${pid} ]; then
kill -9 $pid
echo "Stop ${pid} Finished"
fi

# 暂停
sleep 2

# 启动jar包,日志文件,2>&1 & 表示打开或指向同一个日志文件

etldate=$5

if [ -n "$etldate" ];then

for((i = 3; i >= 0; i--))
do
let currdate=`date -d "$i days ago ${etldate}" +%Y%m%d`
nohup java -jar $APP_NAME -h -a LSYSLB > ${currdate}_${LOG_FILE} 2>&1 &
done

fi

posted @   163博客  阅读(127)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示