微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Rundeck Windows 作业总是成功

如何解决Rundeck Windows 作业总是成功

我使用的是安装在 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 delete file :: @ECHO OFF dir "C:\users\winrmuser\Documents\CreateFile_%1.log" IF %ERRORLEVEL% EQU 0 ( del C:\users\winrmuser\Documents\CreateFile_%1.log echo 成功) else ( EXIT )

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。