shell脚本触发java程序支持传参补跑 +crontab定时器+每天生成日期文件_03
生活随笔
收集整理的這篇文章主要介紹了
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" fi2. 執行測試
不傳參數
[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之類的字符串,只是一個起始和結束的標志罷了。
補充案例
案例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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于java的取整/和取余%
- 下一篇: IntelliJ IDEA 2020.1