如何在Ansible中比较文件的最后一个修改时间



我有一个文件,其中最后一个修改时间显示为" 1563886751.38"(具有STAT和MTIME(。我想检查我运行剧本时的时间是否相同。

我将一个变量定义为file_time:1563872351。我想检查Mtime中是否存在此值。

vars: 
file_date: 1563872351
- name: test
    stat:
     path: /tmp/logrotate/testx1
    register: sym
- debug:
   msg: "{{same}}"
  when: sym.stat.mtime.find(file_date) != -1

但我得到以下错误:

'dict object' has no attribute 'find'

我看到没有属性发现,但是有什么方法可以做到吗?我需要检查它是否包含值,不等于。

这可以通过将两个值转换为字符串并使用in运算符来实现:

    - debug:
        msg: same
      when: file_date|string in sym.stat.mtime|string

我不知道您会用它来做什么,但这也许对您来说是更好的方法:

    - debug:
        msg: same
      when: sym.stat.mtime|int == file_date

相关内容

最新更新