尝试删除注册为变量的目录

时间:2019-01-03 00:50:30

标签: directory ansible stdout

我对ansible相当陌生,目前正在尝试播放一个读取日志文件,在该文件中注册目录然后删除目录的剧本

现在,我可以获得正确的输出,并注册路径,但是删除部分却让我着迷

  • name:获取需要删除的目录的名称 外壳:grep“ Errno 21” /path/error.log | awk'{print $ 7}'| tr -d \' 注册:Errno21

  • 调试:   味精:“ {{Errno21.stdout}}”

  • 名称:删除目录 文件:path = {{{Errno21.stdout}} state =不存在

任务[删除文件] *********************************** 好的:

但是不会删除“目录”。

我怎么能告诉ansible这些是目录?我在想“ file_type:目录”,但是失败了。是模块吗?

1 个答案:

答案 0 :(得分:0)

这是您要找的代码吗?

- name: Remove Directories
  file:
    path: "{{ item }}"
    state: absent
  loop: "{{ Errno21.stdout_lines }}"

回答您的问题:

  

我怎么能告诉ansible这些是目录?

没有理由明确指定项目为目录。 Ansible会自行发现。如果要删除目录,只需状态:不存在file模块对此很清楚

  

如果不存在,目录将被递归删除,...