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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!