虚拟化容器,大数据,DBA,中间件,监控。

ansible 实现文件上传与md5校验

05 09月
作者:admin|分类:系统运维

ansible 实现文件上传与md5校验


---
- name: 上传文件并进行MD5校验
  hosts: target_hosts  # 请替换为您的目标主机组
  gather_facts: false

  vars:
    source_file: /path/to/local/file.txt  # 请替换为本地源文件路径
    dest_file: /path/to/remote/file.txt   # 请替换为远程目标文件路径
    expected_md5: "your_expected_md5_here"  # 请替换为预期的MD5值

  tasks:
    - name: 上传文件到目标主机
      copy:
        src: "{{ source_file }}"
        dest: "{{ dest_file }}"
      register: copy_result

    - name: 计算目标文件MD5
      command: md5sum "{{ dest_file }}"
      register: md5_output
      changed_when: false

    - name: 显示MD5校验结果
      debug:
        msg:
          - "文件上传状态: {{ '成功' if copy_result.changed else '失败或文件已存在' }}"
          - "计算的MD5: {{ md5_output.stdout.split()[0] }}"
          - "预期的MD5: {{ expected_md5 }}"
          - "MD5校验结果: {{ 'Pass' if md5_output.stdout.split()[0] == expected_md5 else 'Fail' }}"

    - name: 检查MD5是否匹配
      fail:
        msg: "MD5校验失败:文件可能已被修改或上传不完整"
      when: md5_output.stdout.split()[0] != expected_md5



浏览22 评论0
返回
目录
返回
首页
Ansible 的stat模块用于获取文件或目录的状态信息