ansible中的幂等性
发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,1、ansible中的幂等性ansible中绝大多数的模块都具有幂等特性,意味着执行依次或多次不会产生副作用。但是shell、command、script、raw这四个模块时不满足幂等性,所有操作会重
千家信息网最后更新 2025年02月06日ansible中的幂等性
1、ansible中的幂等性
ansible中绝大多数的模块都具有幂等特性,意味着执行依次或多次不会产生副作用。但是shell、command、script、raw这四个模块时不满足幂等性,所有操作会重复执行,但是有些操作不允许重复执行,比如MySQL的初始化命令mysql_install_db,逻辑上它只在第一次配置的过程中初始化依次,其他任何时候都不应该再执行。所有,每当使用这四个模块的时候,都要想一想,重复执行这个命令会不会产生负面影响。
当然,在上面的四个模块中,除了raw模块外,都提供了实现幂等特性的参数,就是creates和removes:
- creates参数:当指定的文件或目录存在时,则不执行命令;
- removes参数:当指定的文件或目录不存在时,则不执行命令;
示例如下:
---- name: use some module hosts: node gather_facts: false tasks: # 网卡配置文件不存在时则不执行 - name: use command module command: ifup ens33 args: removes: /etc/sysconfig/network-scripts/ifcfg-ens33 # mysql配置文件已存在时则不执行,避免覆盖 - name: use shell module shell: cp /tmp/my.cnf /etc/my.cnf args: creates: /etc/my.cnf
经过测试可以证明,使用removes或creates参数之后,就可以实现幂等性,保证命令不会重复执行。
这四个模块都不限于执行shell命令或shell脚本,可以通过executable参数指定其他解释器,如expec执行expect脚本、perl解释器执行perl脚本等等。如下:
[root@ansible ansible]# cat test.yaml ---- name: RUN a perl script script: /some/local/script.pl args: executable: perl
命令
模块
参数
文件
脚本
配置
时候
特性
目录
解释器
解释
副作用
可以通过
就是
意味
示例
第一次
网卡
过程
逻辑
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库下一年度
战地3服务器断开连接不进去
网络安全工程师岗位分析
纺织品设计软件开发
缤纷互联网络科技
dell 服务器故障
网络安全的小人怎么画
济南有实力的浪潮服务器多少钱
linux服务器杀毒软件
广东省药监局数据库
软件开发岗位职责范本
医保编码数据库地址维护
北京腾讯云服务器
无锡要玩娱乐网络技术有
昌平区正规软件开发设计
海事加强网络安全管理
邹平快消品软件开发定制
数据库关系模式实验心得
电信的人网络技术怎么样
数据库有多少数据类型
ajax后台修改数据库
pb数据库连接
送货单软件开发价目表
浙江个人云服务器虚拟主机
安徽国拓网络技术有限公司6
第三方软件开发有用吗
数据库实验创建学生表
中职计算机网络技术总结
c 查找数据库及打印的语句
樱桃派服务器多少钱