我们正在使用rundeck扫描服务的日志文件,并根据在其中找到的内容采取措施。基本上,对于找到的每个项目(不存在记录),都会初始化git存储库并调用一些其他终结点,但这并不是重点。按照计划,每隔几个小时说一次,并在发生故障时发送通知,此外,仅在采取了至少一项操作后(即任务中的Shell脚本至少进入一次循环),才发送成功通知。编写脚本是为了使脚本仅在找到要操作的项目时才在stdout上输出输出。还是编写脚本脚本而无需从头开始编写插件的方法?

一种可能的解决方法是关闭故障通知触发器,并在没有任何操作的情况下使脚本返回非零值,但是我这样做不舒服。

评论

输出是真的为空,还是有一些空白行或回车符?

从bash的角度来看,它是空的;我的脚本只有一个shell步骤,不确定我的rundeck是否会用输出装饰它

是否可以选择从脚本本身发送通知?因此,rundeck仅在失败时发出通知,并且脚本会执行自己的“我做了某事”通知?

这实际上是一个好主意!

#1 楼

我可以想到的方法是:

从通知插件示例页面编写自己的插件,调整示例邮件通知代码可能是一种方法。

禁用成功通知在rundeck中,并在脚本本身中处理成功通知部分。这样,警告脚本在正常状态下执行某些操作是您的脚本责任,而警告您脚本失败仍然是轻率的责任。

评论


谢谢;当您使用前面拥有的工具包装了某个功能时,有时会忘记通常可以直接使用它。

–ᴳᵁᴵᴰᴼ
17 Mar 3 '17 at 14:23

#2 楼

通过将命令更改为以下内容,我能够以某种狡猾的方式解决此问题:

输出,但是grep仍然可以通过它,因此即使出现故障,您仍然可以在Rundeck看到输出。对我们来说没什么大不了的,它将为我们提供帮助,直到我们可以更新应用程序以使用正确的退出代码终止为止。