ansible - Ansible 同步总是设置改变
问题描述
我需要将 dest 文件夹的内容设置为与我的 src 文件夹相同。所以我正在使用同步模块:
- name: files for /lib/user/ based on the Runtime version
synchronize:
src: "/data/managedFiles/lib/{{ runtime.version }}/user/"
dest: "{{ mule_directory }}{{ mule_runtime_name }}/lib/user/"
delete: yes
register: result
但这会将结果“更改”设置为“真”,即使没有更改。我只需要将此设置为“true”,如果有一些更改,因为下一个任务测试此状态。
如果我在此之后立即重复相同的同步任务,它不会将“更改”设置为“真”。但是那个总是不会设置为“真”。
在不改变 src ("/data/managedFiles/lib/{{ runtime.version }}/user/") 的后续运行中,总是将结果设置为 'changed'。
解决方案
默认情况下,文件的时间戳包含在检测何时复制文件的测试中。由于文件是从 git 中提取的,因此每次播放的时间戳都不同,从而产生错误信号。但当相同的同步连续运行两次时则不然。解决方案是将校验和参数设置为yes,以便不检查时间戳。但这还需要设置递归和归档参数:
- name: files for /lib/user/ based on the Runtime version
synchronize:
src: "/data/managedFiles/lib/{{ runtime.version }}/user/"
dest: "{{ mule_directory }}{{ mule_runtime_name }}/lib/user/"
recursive: yes
archive: no
checksum: yes
delete: yes
register: result
推荐阅读
- reactjs - React Native - 如何临时持久化数据
- php - 在 Apache/PHP 中,如何运行一个独立的进程并在 linux 上重启 apache
- angular - 如何在 Angular Dart 项目中将材质图标颜色更改为 angular_components 的白色?
- xamarin - 左侧导航抽屉可在所有活动中重复使用?
- spring - spring statemachine 设置多个初始状态
- ajax - 有没有人使用 Ajax 加载更多的 wordpress 插件?
- python - 读取图形的 CSV 文件时不显示时间(Pandas/MatPlotLib)
- dart - Flutter gRPC 错误 - 操作系统错误:连接被拒绝
- objective-c - 如何使用给定的 nativeID 识别目标 c 中的视图(在 react-native 中给出)
- android - 改造创建模拟无效成功响应?