【问题标题】:Rundeck Windows job always successfulRundeck Windows 作业总是成功
【发布时间】:2021-07-22 07:11:52
【问题描述】:

我正在使用安装在 Centos 8 服务器上的 Rundeck 3.4.0 版。

我安装了 WinRM Node Executor Python 插件版本 2.0.12 以在 Windows 2016 服务器上运行作业。

尝试在我的 Windows 服务器上删除文件的简单 .bat 作业始终成功,即使该文件不存在。

但是,在日志文件中出现错误“找不到 C:...”

当文件不存在时,使用 ssh 在 Linux 服务器上运行的相同作业失败。

我确切地说我是 Rundeck 的新手。

非常简单的 .bat 文件:

:: Rundeck delete file
:: 
@ECHO OFF
del C:\users\winrmuser\Documents\CreateFile_%1.log
EXIT

还有工作定义:

- <joblist>
- <job>
  <defaultTab>nodes</defaultTab> 
  <description /> 
- <dispatch>
  <excludePrecedence>true</excludePrecedence> 
  <keepgoing>false</keepgoing> 
  <rankOrder>ascending</rankOrder> 
  <successOnEmptyNodeFilter>false</successOnEmptyNodeFilter> 
  <threadcount>1</threadcount> 
  </dispatch>
  <executionEnabled>true</executionEnabled> 
  <id>9c33bba8-223a-4f55-9a71-16b239eac465</id> 
  <loglevel>INFO</loglevel> 
  <name>Test horus delete file</name> 
  <nodeFilterEditable>false</nodeFilterEditable> 
- <nodefilters>
  <filter>horus</filter> 
  </nodefilters>
  <nodesSelectedByDefault>true</nodesSelectedByDefault> 
- <notification>
- <onfailure>
  <email attachLog="true" attachLogInFile="true" recipients="xxx@yyy.zzz" /> 
  </onfailure>
- <onsuccess>
  <email attachLog="true" attachLogInFile="true" recipients="xxx@yyy.zzz" /> 
  </onsuccess>
  </notification>
  <notifyAvgDurationThreshold /> 
  <plugins /> 
  <scheduleEnabled>true</scheduleEnabled> 
- <sequence keepgoing="false" strategy="node-first">
- <command>
  <description>DeleteFile</description> 
  <exec>C:\Users\winrmuser\Documents\RundeckDeleteFile.bat New</exec> 
- <plugins>
- <LogFilter type="key-value-data">
- <config>
  <invalidKeyPattern>\s|\$|\{|\}|\\</invalidKeyPattern> 
  <logData>false</logData> 
  <name>DeleteFailed</name> 
  <regex>^RUNDECK:DATA:\s*([^\s]+?)\s*=\s*(.+)$</regex> 
  </config>
  </LogFilter>
- <LogFilter type="highlight-output">
- <config>
  <bgcolor>red</bgcolor> 
  <fgcolor>green</fgcolor> 
  <mode>bold</mode> 
  <regex>failed</regex> 
  </config>
  </LogFilter>
  </plugins>
  </command>
  </sequence>
  <uuid>9c33bba8-223a-4f55-9a71-16b239eac465</uuid> 
  </job>
  </joblist>  

提前感谢您的帮助。

【问题讨论】:

  • 嗨!你能分享一个最小的可重现的例子吗?也许是脚本和 rundeck 作业定义?我进行了测试,它按预期工作。 .bat 文件示例:pastebin.com/imyueeeP 以及文件不存在时的结果:imgur.com/D1Q1d7X
  • 请给我你的定义文件好吗?
  • 您好,它现在可以工作了,但我必须修改我的批处理作业:
  • :: Rundeck 删除文件 :: @ECHO OFF dir "C:\users\winrmuser\Documents\CreateFile_%1.log" IF %ERRORLEVEL% EQU 0 (del C:\users\winrmuser\ Documents\CreateFile_%1.log echo 成功)否则(退出)
  • 好!请添加您的解决方案作为答案:)

标签: rundeck


【解决方案1】:

它现在可以工作了,但是我必须修改我的批处理作业 :: Rundeck 删除文件 :: @ECHO OFF dir "C:\users\winrmuser\Documents\CreateFile_%1.log" IF %ERRORLEVEL% EQU 0 (del C:\users\winrmuser\Documents\CreateFile_%1.log 回显成功)否则(退出)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-23
    • 1970-01-01
    • 1970-01-01
    • 2017-11-15
    • 1970-01-01
    相关资源
    最近更新 更多