- name: 查看 sshd 进程hosts: your_hoststasks:- name: 运行 pgrep 命令查找 sshd 进程shell: pgrep sshdregister: command_result- name: 打印进程输出debug:var: command_result.stdout_lines
ansible-playbook process.yml
- stdout_lines 是变量的一个属性,变量结果按行打印
- name: 查看并统计 sshd 进程hosts: your_hoststasks:- name: 运行 pgrep 命令查找 sshd 进程shell: pgrep sshdregister: command_result- name: 打印进程输出debug:var: command_result.stdout_lines- name: 统计进程数量set_fact:process_count: "{{ command_result.stdout_lines | length }}"- name: 打印进程数量debug:var: process_count
- set_fact 模块是 Ansible 中的一个内置模块,用于在 playbook 中设置一个事实(fact)。事实是 Ansible 中的变量,可以在 playbook 的其他任务中使用
- name: 查看并统计 sshd 进程hosts: your_hoststasks:- name: 运行 pgrep 命令查找 sshd 进程shell: pgrep sshdregister: command_result- name: 打印进程输出debug:var: command_result.stdout_lines- name: 统计进程数量set_fact:process_count: "{{ command_result.stdout_lines | length }}"- name: 打印进程数量debug:var: process_count- name: 统计所有主机的进程数量总和hosts: localhostgather_facts: falsetasks:- name: 收集进程数量command: echo "{{ hostvars[item].process_count }}"register: process_countsloop: "{{ groups['jiedan11_c2'] }}"- name: 计算进程数量总和set_fact:total_process_count: "{{ process_counts.results | map(attribute='stdout') | map('int') | sum }}"- name: 打印进程数量总和debug:var: total_process_count