java远程执行linux服务器上的shell脚本
业务场景:需要从服务器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文件中指定
深漂码农整理,定期干货分享,自我梳理,一同成长
技术交流QQ群:579949017
或者添加个人微信:xieya0126 加入微信交流群