条件不满足时如何跳过任务

2024-04-26 18:40:58 发布

您现在位置:Python中文网/ 问答频道 /正文

如果my_environmentvar为“prod”,则让角色执行以下任务以创建cron作业。在

当条件不满足时,我希望剧本跳过该任务,而不是失败:

---
- name: Configure cron job to export patch logs
  cron:
    name: export patch logs daily
    minute: 0
    hour: 0
    user: root
    cron_file: patch_logs
    job: "/usr/local/bin/aws s3 cp /var/log/dpkg.log s3://{{ patch_logs_bucket }}/dpkg.log.$(hostname).$(date +\\%F)"
  when: my_environment == "prod"

失败消息:

^{pr2}$

Tags: namelog角色s3my作业jobexport
3条回答

我们可以使用jinja2快捷方式“default(False)”“d(False)”。在

when: my_environment|d(False) == "prod"
when:

my_environment is defined

my_environment != ”prod”

在这里找到https://ansible-docs.readthedocs.io/zh/stable-2.0/rst/playbooks_conditionals.html#the-when-statement

- shell: echo "This certainly isn't epic!"
  when: not epic

或者

^{pr2}$

相关问题 更多 >