業務場景:需要從服務器A中新增的文件同步至本地服務器,服務器A中內存有限,需同步成功之后清除文件。
Java調用遠程shell腳本,需要和遠程服務器建立ssh鏈接,再調用指定的shell腳本。
1.創建清除文件shell腳本,可以使用touch或者vi命令
#創建sh文件 vi file_clear.sh #file_clear.sh內容如下 #!/bin/bash #將日志定向輸出到/opt/data/logs路徑下,以當前日期為日志名稱 echo "執行公告數據文件清空定時任務,執行時間$(date -d "now" "+%Y-%m-%d %H:%M:%S")" >> /opt/data/logs/$(date -d "now" +%Y-%m-%d).log #指定目標路徑並刪除 find /opt/data/files/temp/ -type d | xargs rm -rf
給file_clear.sh文件賦予可執行權限
2.pom.xml中引入ganymed-ssh2依賴
3.新建ssh連接類SSHClient,用於與遠程服務器建立連接,參數可在yml文件或者properties文件中指定
深漂碼農整理,定期干貨分享,自我梳理,一同成長