日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

shell脚本触发java程序支持传参补跑 +crontab定时器+每天生成日期文件_03

發布時間:2024/9/27 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 shell脚本触发java程序支持传参补跑 +crontab定时器+每天生成日期文件_03 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

            • 1. 腳本升級
            • 2. 執行測試
            • 3. 腳本關鍵詞簡述
            • 補充案例

上一篇:
shell腳本觸發java程序支持傳參補跑 +crontab定時器_02
https://gblfy.blog.csdn.net/article/details/111787188

1. 腳本升級
cd /app/ly#!/bin/bash fdate=$(date +%Y%m%d%H%M%S) flog='/app/ly/logs/shellrun-' elog='/app/ly/logs/errors-' fname=$flog$fdate'.log' ename=$elog$fdate'.log'nohup /app/jdk1.8.0_202/bin/java -cp "./ly.war/WEB-INF/classes" com.gblfy.shell.MainDeal $1 <<EOF > "$fname" 2>&1 EOFif grep -i "Login failed" "$fname" > /dev/null then echo "ERROR: Login failed" >> "$ename" fi if grep -i "Not connected" "$fname" > /dev/null then echo "ERROR: Cannot connect to the destination" >> "$ename" fi if grep -i "No such file" "$fname" > /dev/null then echo "ERROR: Cannot change directory. No such file or directory." >> "$ename" fi if grep -i "No such directory" "$fname" > /dev/null then echo "ERROR: Cannot change remote directory. No such file or directory." >> "$ename" fi if grep -i "File or Directory does not exist" "$fname" > /dev/null then echo "ERROR: Cannot transfer. File or Directory does not exist" >> "$ename" fi
2. 執行測試

不傳參數

[root@localhost ly]# ./lyshell2.sh [root@localhost ly]# cat logs/shellrun-20201227132209.log 沒有接收到參數 開始獲取當前日期:2020-12-27 [root@localhost ly]#

傳參數

[root@localhost ly]# ./lyshell2.sh 2020-12-26 [root@localhost ly]# cat logs/shellrun-20201227132529.log 開始補跑: 2020-12-26這天的數據 [root@localhost ly]#
3. 腳本關鍵詞簡述

在shell腳本中,通常將EOF與 << 結合使用,表示后續的輸入作為子命令或子Shell的輸入,直到遇到EOF為止,再返回到主Shell。
EOF只是一個分界符,當然也可以用abcde替換。
當shell遇到<<時,它知道下一個詞是一個分界符。在該分界符以后的內容都被當作輸入,直到shell又看到該分界符(位于單獨的一行)。
此分界符可以是所定義的任何字符串,其實,不一定要用EOF,只要是“內容段”中沒有出現的字符串,都可以用來替代EOF,完全可以換成abcde之類的字符串,只是一個起始和結束的標志罷了。

<< EOF ... EOF 其中的"..."表示用戶輸入內容。 說明:EOF只是一個標示符,可以用其它非關鍵字符或字符串來代替,例如: << abc ..... abc
補充案例

案例1:

#!/bin/bash #Filename:do.sh su - oracle -c " export ORACLE_SID=orcl sqlplus /nolog <<EOF connect / as sysdba startup; exit; EOF" sleep 5 su - oracle -c lsnrctl start

更多案例:
https://blog.csdn.net/weixin_40816738/category_9175156.html

總結

以上是生活随笔為你收集整理的shell脚本触发java程序支持传参补跑 +crontab定时器+每天生成日期文件_03的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。