【发布时间】:2016-08-23 03:14:45
【问题描述】:
我正在尝试使用 Ansible 2.0.0.2 中的 absent 状态从我的应用程序中清除一些缓存目录,但效果不佳。检查以下错误:
fatal: [my target IP goes here]: FAILED! => {"changed": false, "failed":
true, "msg": "rmtree failed: [Errno 2] No such file or directory:
'/path/to/my/app/caches/tmp/whatever.tmp'"}
这是剧本中的“文件”行:
file: dest=/path/to/my/app/caches/tmp state=absent
我可以使用一些 shell 模块并在这里和那里放一些 rm,但我想成为那个“良好实践”的人。
有什么想法吗? :)
【问题讨论】:
-
我很困惑,因为您的错误消息中的路径与您的
file任务中的路径完全不同。您是否可以编辑此问题以包含您的剧本中的 actual 任务和 actual 错误消息?这种不匹配让人不清楚发生了什么。 -
当然。完毕。基本上,ansible 告诉我 tmp 目录中有一些文件仍然存在或不存在。但关键是,我不希望它停止删除过程,而只是删除缓存目录中的所有内容。顺便谢谢。
-
触发错误的文件有什么值得注意的地方吗?例如,它是一个损坏的符号链接,还是不是一个常规文件?另外,您使用的是哪个版本的 Ansible?另外,你考虑过
command: rm -rf /path/to/my/app/caches/tmp吗? -
ansible 2.0.0.2 没什么特别的,只是来自 jboss 应用程序的一个 jar 文件。
-
您能否在 Ansible 运行完成后将
ls -l /path/to/my/app/caches/tmp/whatever.tmp的输出包含在您的问题中?
标签: linux file directory ansible