获取 Rudder 中命令执行的输出?

获取 Rudder 中命令执行的输出?

我正在尝试使用 Rudder 中的用户技术来监控我的节点是否有待处理的软件包更新。我创建了一个执行以下技术:/usr/bin/apt-get update && /usr/bin/apt-get list --upgradable

我还想创建另一种技术来执行命令并获取可用磁盘空间。

我只收到不合规报告,但我想在 Rudder 服务器上的任何地方看到此命令的输出。

有什么办法可以做到这一点?

答案1

命令的输出不会被 Rudder 代理保存,我猜实现这一点的最佳方式是将命令的输出重定向到一个文件,然后使用“共享文件到节点”方法将该命令发送回 Rudder 服务器(尽管存在一个错误(https://www.rudder-project.org/redmine/issues/11869)那种方法,下面我会向你解释)。

这是我创建的技术的截图

waiting_upgrade 技术

文件pending_upgrade将在/var/rudder/shared-files/root/files/nodeId/pending_upgrade中可用

如何修复该错误:

sed -is/classes_generic(/if_ok(/ /usr/share/ncf/tree/30_generic_methods/sharedfile_to_node.cf

附注:您使用的命令不起作用,apt-get 列表不存在,您应该使用 apt,这会导致以下命令:

/usr/bin/apt-get 更新 && /usr/bin/apt 列表 --upgradable

相关内容