【问题标题】:How to print date in ansible template module如何在ansible模板模块中打印日期
【发布时间】:2021-10-21 21:36:14
【问题描述】:

运行 ansible jinja 模板时如何打印当前日期。 我的神社模板是

今天的日期是date +%Y-%m-%d

当我运行任务时,它只是复制粘贴同一行,我希望今天的日期需要打印在目标文件中

【问题讨论】:

    标签: ansible ansible-template


    【解决方案1】:

    在 Jinja 模板中获取日期的内置方法是使用 template_run_date 变量,该变量在使用 template module 时自动可用。

    例如一个 Jinja 模板文件my.conf.j2

    # My configuration file
    # Updated on {{ template_run_date }}
    

    将呈现模板呈现时的日期/时间戳。

    【讨论】:

    • 感谢您输入我使用 {{ template_run_date }} 它也是打印时间,而不仅仅是日期到 Jinja 模板。有没有办法跳过时间戳?
    • 不想要时间戳的任何具体原因?
    • 我的任务只指定了日期
    • 您可以考虑使用其他答案,尽管恕我直言有日期和时间戳是有道理的。
    【解决方案2】:

    我不知道我是否理解你的问题

    但您只需将日期捕获在 var 中,然后在模板中将 var 与“{{ date }}”一起使用:

      tasks:
        - name: template {{ date }}
          template: your j2 file and destfile with {{date}} inside your j2
      vars:
        date: "{{ lookup('pipe', 'date +%Y-%m-%d') }}"
            
    

    【讨论】:

      【解决方案3】:

      如果facts are gathered,也可以使用{{ ansible_date_time.date }}

      感谢:

      【讨论】:

        猜你喜欢
        • 2011-08-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-07
        • 1970-01-01
        • 1970-01-01
        • 2021-11-11
        • 2018-03-04
        相关资源
        最近更新 更多