首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SSH操作的捕获输出为空

SSH操作的捕获输出为空
EN

Stack Overflow用户
提问于 2014-06-30 22:33:23
回答 1查看 1.2K关注 0票数 1

我正在使用Oozie 4.0.0运行一个简单的工作流。我需要通过SSH操作运行bash脚本,然后捕获stdout。

这是xml:

代码语言:javascript
复制
<workflow-app name="Test" xmlns="uri:oozie:workflow:0.4">
    <start to="LS"/>
    <action name="LS">
        <ssh xmlns="uri:oozie:ssh-action:0.1">
            <host>user@host</host>
            <command>ls</command>
              <capture-output/>
        </ssh>
        <ok to="Mail"/>
        <error to="kill"/>
    </action>
    <action name="Mail">
        <email xmlns="uri:oozie:email-action:0.1">
            <to>myaddress@mail.com</to>
            <subject>Test mail</subject>
            <body>${wf:actionData('LS')}</body>
        </email>
        <ok to="end"/>
        <error to="kill"/>
    </action>
    <kill name="kill">
        <message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
    </kill>
    <end name="end"/>
</workflow-app>

邮件的正文只包含以下内容:

代码语言:javascript
复制
{}

带有shell操作的相同脚本可以正常工作,但我需要SSH操作。我要疯了,有人能帮帮我吗?

EN

回答 1

Stack Overflow用户

发布于 2014-07-08 23:39:49

我找到了问题所在。通过查看日志,我注意到SShActionExecutor查看了错误的标准输出文件。这是我在日志中找到的命令

代码语言:javascript
复制
ssh -o PasswordAuthentication=no -o KbdInteractiveDevices=no -o StrictHostKeyChecking=no -o ConnectTimeout=20 workflow@redhat5 cat oozie-oozi/0000008-140708170302737-oozie-oozi-W/fileProcessing--ssh/22350.0000008-140708170302737-oozie-oozi-W@fileProcessing@1.stdout

但是生成的标准输出文件是/home/instadoc/oozie-oozi/0000008-140708170302737-oozie-oozi-W/fileProcessing--ssh/22350.0000008-140708170302737-oozie-oozi-W@fileProcessing@0.stdout

如果重新启动该操作,则添加.stdout扩展名的ID可能会有所不同(例如:@9.stdout,@4.stdout),但SShActionExecutor始终为@0.stdout。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24492574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档