web-dev-qa-db-ja.com

ラダーでコマンド実行の出力を取得しますか?

Rudderのユーザーテクニックを使用して、ノードに保留中のパッケージ更新があるかどうかを監視しようとしています。/usr/bin/apt-get update &&/usr/bin/apt-get list--upgradableを実行するテクニックを作成します。

また、コマンドを実行してディスクの空き容量を確保するための別の手法を作成したいと思います。

準拠していないレポートしか取得しませんが、Rudderサーバーの任意の場所でこのコマンドの出力を確認したいと思います。

それを行う方法はありますか?

2
kattunga

コマンドの出力はRudderエージェントによって保持されません。これを実現する最善の方法は、コマンドの出力をファイルにリダイレクトしてから、「Shared filetonode」メソッドを使用してこのコマンドをRudderServerに送り返すことです(ただし、そのメソッドのバグ( https://www.rudder-project.org/redmine/issues/11869 )、以下で説明します)。

これが私が作成したテクニックのスクリーンショットです

pending_upgrade technique

ファイルpending_upgradeは/ var/rudder/shared-files/root/files/nodeId/pending_upgradeで利用可能になります

バグを修正する方法:

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

補足:使用しているコマンドが機能せず、apt-getリストが存在しないため、代わりにaptを使用する必要があります。その結果、次のコマンドが実行されます。

/ usr/bin/apt-get update &&/usr/bin/apt list --upgradable

1
Vincent Membré