目的是打造一个可以在程序中直接可以控制多服务器文件的更新、上传、下载、启动脚本的插件
1、上传:完成
2、下载:完成
3、执行脚本:完成
4、定时执行:待开发
5、其他功能:待开发
项目是使用纯Java写的,使用统一接口,易扩展,无耦合
文件可选配置:
/**本地文件存放路径*/
private String papersPath;
/**网络文件路径*/
private String netPapersPath;
/**服务器存储文件路径*/
private String depositaryPath;
/**文件名*/
private String papersName;
/**Shell名*/
private String shellName;
/**是否备份*/
private boolean backblaze;
/**文件是否执行*/
private boolean runPapers;
/**是否执行*/
private boolean run;
/**是否关闭正在运行的程序*/
private boolean kill;
/**是否是从net获取*/
private boolean wget;
/**Shell超时时间*/
private long shellTimeOut;
不需要安装,纯Java项目
现在有三种实现方式
- ShellPushPapers:生成脚本、上传、执行
static SftpConnParam connParam = new SftpConnParam.Builder().host("127.0.0.1").port(22)
.user("root").password("123456").build();
static SftpFileParam papersParma =
new SftpFileParam.Builder().
papersPath("F:\\A_01_test\\")
.depositaryPath("/data/").papersName("test.sh")
.netPapersPath("http://www.wangchunlong.cn/attachment/20200408/e6cd1f0e8e9d424cbb2f8b1ff7001e97.jpg")
.run(true).backblaze(true).wget(true).shellTimeOut(3000)
.build();
public static void main(String[] args) throws JSchException, IOException {
TaskResult<?> pullPapers = new PapersOperatAchieve().executeOperat(new ShellPushPapers(connParam, papersParma));
}
- LocalPushPapers:将本地文件上传至服务器
TaskResult<?> pullPapers = new PapersOperatAchieve().executeOperat(new LocalPushPapers(connParam, papersParma));
- LocalPullPapers:将服务器文件拉取至本地
TaskResult<?> pullPapers = new PapersOperatAchieve().executeOperat(new LocalPullPapers(connParam, papersParma));
示例参考测试类
- Fork 本仓库
- 新建 Feat_xxx 分支
- 提交代码
- 新建 Pull Request