3

複数のホストで異なる時間に実行するように cron ジョブを構成する必要があります。理想的には、現在変更しているホストを識別してオフセットするインデックスが必要です。

したがって、次に対して ansible を実行すると:

HOSTA
HOSTB
HOSTC

cronをこのように設定したい

0 1 * * * #HOSTA
0 2 * * * #HOSTB
0 3 * * * #HOSTC

ホストごとに変数をハードコーディングせずにそれを達成する方法を知っていますか?

4

1 に答える 1

4

辞書の配列に対して loop with_items を使用できます。次に、inventory_hostname または ansible_hostname を使用して適切なアイテムをフィルター処理します。

- name: cron jobs
  cron: min=0 hour={{ item.h }} job="echo server {{ item.s }} cron job started" state=present
  when: inventory_hostname == item.s
  with_items:
  - { s: 'hosta', h: 1 }
  - { s: 'hostb', h: 2 }
  - { s: 'hostc', h: 3 }
于 2014-04-12T01:49:04.313 に答える