你如何创建一个目录www在/srv上基于debian的系统使用Ansible剧本?
当前回答
—name:创建目录 ansible.builtin.file: 路径:/etc/some_directory 状态:目录 模式:“0755”
其他回答
您需要文件模块。要创建目录,您需要指定选项状态:directory:
- name: Creates directory
file:
path: /src/www
state: directory
你可以在https://docs.ansible.com/ansible/latest/collections/ansible/builtin/file_module.html上看到其他选项
可以直接执行该命令,使用ansible直接创建
ansible -v targethostname -m shell -a "mkdir /srv/www" -u targetuser
OR
ansible -v targethostname -m file -a "path=/srv/www state=directory" -u targetuser
我看到很多Playbooks的例子,我想提到Adhoc命令的例子。
$ansible -i inventory -m file -a "path=/tmp/ directory state=directory(我们可以用touch代替directory来创建文件)
只需要为特定的分配设置执行任务的条件
- name: Creates directory
file: path=/src/www state=directory
when: ansible_distribution == 'Debian'
在这种情况下,您需要使用文件模块。下面的剧本,你可以使用你的参考。
---
- hosts: <Your target host group>
name: play1
tasks:
- name: Create Directory
files:
path=/srv/www/
owner=<Intended User>
mode=<Intended permission, e.g.: 0750>
state=directory
推荐文章
- 如何在Python中获取当前执行文件的路径?
- 如何忽略ansible SSH的真实性检查?
- 如何在Android工作室添加“libs”文件夹?
- 在Python中提取文件路径(目录)的一部分
- Crontab -在目录中运行
- 如何可靠地打开与当前运行脚本在同一目录下的文件
- 如何在一个可行的剧本中只运行一个任务?
- 如何使用Bash创建一个文件夹,如果它还不存在?
- 如何从查找“类型d”中排除此/ current / dot文件夹
- 如何定位父文件夹?
- 如何拉特定的目录与git
- 如何在远程系统上使用Ansible任务移动/重命名文件
- 从完整的文件名路径中获取文件夹名称
- 将Ansible剧本安全地限制在一台机器上?
- 如何在PATH中放置~/.composer/vendor/bin目录?