如何使用apache camel-ssh 管理远程服务器,如执行nginx -s reload命令?

from("file:I:/workProject/java/xxxx/luaFiles/").multicast().to("direct:a", "direct:b").end().to("direct:c");
    from("direct:a").to("sftp://root@192.168.56.14/xxxx/controllers/gen/?password=root&stepwise=true&runLoggingLevel=TRACE&throwExceptionOnConnectFailed=true&idempotent=true");
    from("direct:b").to("sftp://root@192.168.56.14/?password=root&stepwise=true&runLoggingLevel=TRACE&throwExceptionOnConnectFailed=true&idempotent=true");
    from("direct:c").to("ssh://root:root@192.168.56.14?pollCommand=nginx -s reload %0A").log("done !!${body}");

上面代码执行不成功

我的的需求是,分发lua代码后,再为每台服务上执行nginx -s reload命令,

类似ansible功能 ,远程管理,但如查使用java camel 好像更方便点。不需要 太多的功能 ,只需要 同步文件 + reload

代码环境如下,我还发现有个camel-exec 模块,但在以2.21.1版本不支持,且好像不支持远程管理命令发送

apache-camel version: 2.21.1
camel-sftp, camel-ssh
Environment: java 1.8
spring boot 1.15.x centos 7 os
please help

阅读 1.6k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题