一、ansible中的迭代循环
循环迭代任务#
1、简单循环#
loop: ##赋值列表
– value1
– value2
– …
{{item}} 迭代变量名称
2、循环散列或字典列表
二、Ansible中的条件语句
when:
- 条件1
- 条件2
条件判断
‘=’ | value == “字符串”,value == 数字 |
---|---|
‘<’ | value < 数字 |
‘>’ | value > 数字 |
‘<=’ | value <= 数字 |
‘>=’ | value >= 数字 |
‘!=’ | value != 数字 |
is defined value | value is defined | 变量存在 |
---|---|---|
is not defined | value is not defined | 变量不存在 |
in | value is in value | 变量为 |
not in | value is not in value | 变量不为 |
bool变量 为true | value | value的值为true |
bool变量 false | not value | value的值为false |
#多条条件组合#
when:
条件1 and 条件2
– 条件1
– 条件2
when:
条件1 or 条件2
when: >
条件1
or
条件2
三、Ansible中的触发器
notify: | 触发器当遇到更改是触发handlers |
---|---|
handlers | 触发器触发后执行的动作 |
四、处理失败任务
ignore_errors
作用:
当play遇到任务失败是会终止
ignore_errors: yes 将会忽略任务失败使下面的任务继续运行
让我们的错误被忽略
五、强制触发器运行
force_handlers
作用:
当任务失败后play被终止也会调用触发器进程
cp /mnt/etc/vsftpd/vsftpd.conf vsftpd.conf.j2
vim vsftpd.yml
六、控制play运行状态
.changed_when
作用:
控制任务在何时报告它已进行更改
强制视为更改
强制视为不更改
强势视为执行失败
七、根据play运行情况选择运行动作
block: | 定义要运行的任务 |
---|---|
rescue: | 定义当block句子中出现失败任务后运行的任务 |
always | 定义最终独立运行的任务 |