ansible 检查目录大小

检查目录大小

bash 复制代码
worker_du.yml
bash 复制代码
# ansible-playbook -i hosts worker_du.yml --limit w10
---
- name: 检查目录大小
  hosts:
    - w10   # 可以根据需要修改目标主机
    # 可以添加更多主机

  tasks:
    - name: 获取每台主机 /root/worker01 目录大小
      shell: du -sh /root/worker01/ | awk '{print $1}'
      register: directory_size
      tags:
        - check_size

    - name: 收集所有主机的目录大小
      set_fact:
        host_size: "{{ directory_size.stdout }} {{ ansible_hostname }}"
      tags:
        - check_size

    - name: 在控制节点显示所有结果
      debug:
        msg: "{{ hostvars[item]['host_size'] }}"
      loop: "{{ ansible_play_hosts_all | sort }}"
      run_once: true
      tags:
        - check_size

    - name: 创建临时文件
      file:
        path: "{{ ansible_user_dir }}/.ansible_tmp_sizes.txt"
        state: touch
        mode: '0600'
      delegate_to: localhost
      run_once: true
      tags:
        - check_size

    - name: 显示排序后的结果(按大小)
      shell: echo "{{ hostvars[item]['host_size'] }}" >> {{ ansible_user_dir }}/.ansible_tmp_sizes.txt
      delegate_to: localhost
      loop: "{{ ansible_play_hosts_all }}"
      run_once: true
      tags:
        - check_size

    - name: 排序并显示最终结果
      shell: "sort -hr {{ ansible_user_dir }}/.ansible_tmp_sizes.txt | awk '{print $2 \": \" $1}'"
      delegate_to: localhost
      register: sorted_results
      run_once: true
      tags:
        - check_size

    - name: 清理临时文件
      file:
        path: "{{ ansible_user_dir }}/.ansible_tmp_sizes.txt"
        state: absent
      delegate_to: localhost
      run_once: true
      tags:
        - check_size

    - name: 显示排序后的最终结果
      debug:
        msg: "{{ sorted_results.stdout_lines }}"
      run_once: true
      tags:
        - check_size
相关推荐
垚垚学技术_聚焦云原生3 天前
Ansible Role 生产环境标准目录结构与规范化实践
java·elasticsearch·ansible
垚垚学技术_聚焦云原生4 天前
Ansible Playbook 实战:批量配置 Linux 主机
ansible
迷茫的大专生16 天前
服务器部署与 MySQL 运维学习笔记:从 Ansible 到高可用与性能优化
mysql·nginx·ansible·mysql优化·keepalive
杜子不疼.18 天前
Ansible 批量部署 Node Exporter:从单机安装流程到远程主机统一执行
ai·ansible
运维全栈笔记19 天前
Ansible 自动化 Nginx 集群部署实战:动态 Inventory、滚动发布与 Role 工程化
nginx·自动化·ansible
User_芊芊君子24 天前
让异构增量同步飞起来-KFS全链路并行同步方案
运维·自动化·ansible
あ-1 个月前
ansible-playbook安装seaweedfs三节点集群
ansible
Tassel_YUE1 个月前
非 ansible 主机批量执行命令方法:psssh 和 pscp(随手记)
linux·网络·ssh·scp·ansible
亿朝亿夕1 个月前
ansible安装
ansible
.柒宇.1 个月前
运维常见面试题_07_配置管理与监控(Ansible · Prometheus · Alertmanager)· 容器编排(Kubernetes)
运维·k8s·ansible·prometheus