在Ansible中获取目录中的最新文件名

在Ansible中获取目录中的最新文件名,ansible,Ansible,我有一个Ansible脚本,我正在尝试获取目录中最新项目的文件名。我正在使用以下Ansible脚本: - name: Finding newest file in a folder find: paths: "/var/www/html/wwwroot/somefolder/" age: "latest" age_stamp: mtime 然而,我得到了以下错误- FAILED! => {"age": "latest", "changed": false, "

我有一个Ansible脚本,我正在尝试获取目录中最新项目的文件名。我正在使用以下Ansible脚本:

- name: Finding newest file in a folder
  find:
    paths: "/var/www/html/wwwroot/somefolder/"
    age: "latest"
    age_stamp: mtime
然而,我得到了以下错误-

FAILED! => {"age": "latest", "changed": false, "failed": true, "msg": "failed to process age"}
如何让Ansible检索目录中最新文件的文件名?

纯Ansible解决方案:

- name: Get files in a folder
  find:
    paths: "/var/www/html/wwwroot/somefolder/"
  register: found_files

- name: Get latest file
  set_fact:
    latest_file: "{{ found_files.files | sort(attribute='mtime',reverse=true) | first }}"

使用系统命令:

- name: List letencrypt certificate directory
  command: ls -t1 /etc/letsencrypt/live/
  register: certificates

- set_fact: latest_certificate="{{ certificates.stdout_lines[0] }}"

这将保存certbot生成的最新目录。

最后一行更漂亮:
latest_file:{{{found_files.files | sort(attribute='mtime')| last}}}
来自@Def_Os的解决方案也非常干净。(@Def_Os的建议使解决方案更加清晰。