在使用 Ansible 进行自动化运维时,我们常常会遇到需要检查文件或目录是否存在的情况,然后基于检查结果采取不同的操作。本文将通过一个具体的实例,展示如何在 Ansible Playbook 中检测目录是否存在,并在不存在的情况下创建该目录,同时确保操作的原子性和安全性。
问题背景
假设我们需要在目标服务器上创建一个特定目录 /my_directory
,该目录需要由 root
用户拥有,并且在目录创建后,fstab
将自动挂载文件系统到该目录上。为了避免权限问题,我们需要确保目录在被挂载前已经存在且权限正确。
Ansible Playbook 示例
以下是一个简化的 Ansible Playbook 示例,展示了如何使用 stat
模块检测目录的存在性,并在目录不存在的情况下创建它:
---
- name: Create a directory