2016-11-24 12 views
2

私はls -lS /var/log/somebase.log-*をSaltStackのミニオンに打ち切りたい。salt-ssh:すべての下位隊員に対してls -lS

私は結果はおおよそ次のようになりたい:

Size  Host File 
2345678 foo /var/log/somebase.log-20161112.gz 
1234567 bar /var/log/somebase.log-20161110.gz 
1045678 foo /var/log/somebase.log-20160912.gz 
... 
+0

私の解決策を試しましたか? –

+0

@MostafaHusseinはい、それは動作します。あなたは賞金を得る、ありがとう! – guettli

答えて

2

私は現在、1人の手先でテスト同様の出力を与えるスクリプトを作成しているだけで私はそれが正常に動作します推測するが、それはテストする必要があり再度確認してください。

$ { echo Host Size File ; for minion in local-pc; do sudo salt $minion cmd.run 'ls -lS /var/log/dnf.rpm.log-*' --out=json | python -c "import sys, json; ret = [{'host': k, 'result' : v} for k,v in json.load(sys.stdin).items()]; print json.dumps(ret)" | jq -r '.[].result' | awk -v host=$minion {'print host" "$5" "$9'};done } | column -t 
Host  Size File 
local-pc 5646 /var/log/dnf.rpm.log-20161113 
local-pc 4165 /var/log/dnf.rpm.log-20161120 
local-pc 4067 /var/log/dnf.rpm.log-20161030 
local-pc 3682 /var/log/dnf.rpm.log-20161107 

依存性:

  • jq
  • パイソン

制限:

手先接続されなければなりません。 manage.upを使用して接続されているミニオンのリストを作成し、上記のコードを変更してこのリストをループする必要があります。

完全な解決策を提供するために、より多くのテストを試みます。

更新:

ちょうどタイトルでsalt-ssh、手下のための作品上記のコードに気づいた、私は前にsalt-sshでは動作しませんでした。問題がある場合は私に教えてください

関連する問題