Python Ansible:条件寄存器检查

Python Ansible:条件寄存器检查,python,linux,ansible,redhat,Python,Linux,Ansible,Redhat,我正在创建一个剧本来执行一个操作,但有一个条件:只有在日期早于x天时才执行我的命令 这就是我尝试使用的 与_项一起:{(my_register | sort(attribute='ctime'))[30:| list}” 我希望检查“我的注册表”中的信息是否早于x天。我已使用测试文件进行了测试。请检查这对您的场景是否有用。 在什么情况下,你可以给出如下 - name: Test stat: path: /tmp/test.txt register: outpu

我正在创建一个剧本来执行一个操作,但有一个条件:只有在日期早于x天时才执行我的命令

这就是我尝试使用的

与_项一起:{(my_register | sort(attribute='ctime'))[30:| list}”


我希望检查“我的注册表”中的信息是否早于x天。

我已使用测试文件进行了测试。请检查这对您的场景是否有用。 在什么情况下,你可以给出如下

  - name: Test
    stat:
        path: /tmp/test.txt
    register: output
  - name: conditional action
    shell: command
    become: yes
    when: (ansible_date_time.epoch|int - output.stat.ctime|int) < 2592000
-名称:测试
斯达:
路径:/tmp/test.txt
寄存器:输出
-名称:条件动作
shell:命令
变成:是的
当:(ansible_date_time.epoch | int-output.stat.ctime | int)<2592000

注意:2592000是30天(以秒计)

我已经用一个测试文件进行了测试。请检查这对您的场景是否有用。 在什么情况下,你可以给出如下

  - name: Test
    stat:
        path: /tmp/test.txt
    register: output
  - name: conditional action
    shell: command
    become: yes
    when: (ansible_date_time.epoch|int - output.stat.ctime|int) < 2592000
-名称:测试
斯达:
路径:/tmp/test.txt
寄存器:输出
-名称:条件动作
shell:命令
变成:是的
当:(ansible_date_time.epoch | int-output.stat.ctime | int)<2592000

注:2592000是30天(秒)

你的小于号应该是大于号:当:(ansible_date_time.epoch | int-output.stat.ctime | int)>2592000你的小于号应该是大于号:当:(ansible_date_time.epoch | int-output.stat ctime | int)>2592000