私は最初にAnsibleに触れ、次のコマンドでansibleを使用するのに問題があります。
ansible host -a "/sbin/swapoff -a && /sbin/swapon -a"
これだけ効果があります。
ansible host -a "/sbin/swapoff -a
ansible host -a "/sbin/swapon -a
プレイブックを作ろうと思っています。おそらく次のように始めます。
- name: Turn off swap
shell : "swapoff -a"
- name: Turn on swap
shell : "swapon -a"
私の考えではスワップ空間のリセット条件付きスワップ使用スペースが次の場合にのみ大きい比較する100MB。これは可能ですか?
助けてくれてありがとう
答え1
使用されたスワップ領域が100 MBを超えるとスワップ領域をリセットする方法
これを行う方法はいくつかあります。これはいくつかの基本的なAnsible概念を紹介する方法です。
まず、システムからスワップ領域を取得します。
- name: Grab the swap space used (in megabytes)
shell: free -m | grep Swap | awk '{print $2}'
register: swap_used
これにより、swap_spaceがしきい値より大きい場合にのみスワップがオンまたはオフになります。
- name: Turn off swap
shell: "swapoff -a"
when: (swap_used.stdout_lines[0] | int) > 100
- name: Turn on swap
shell : "swapon -a"
when: (swap_used.stdout_lines[0] | int) > 100
答え2
使用法:
- name: Reset swap
shell: "swapoff -a && swapon -a"
when: ansible_memory_mb['swap']['total'] > 100