ansible 实现文件上传与md5校验
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
目录 返回
首页