(2) 使用ansible在被控机中建立一个文件夹:/root/你的姓名缩写
时间: 2023-12-04 22:02:38 浏览: 93
好的,您可以使用以下的Ansible Playbook来在被控机中建立一个文件夹:/root/你的姓名缩写(请将“your_initials”替换为您的姓名缩写):
```
- name: Create folder in /root
hosts: <your_target_host>
become: true
tasks:
- name: Create folder
file:
path: "/root/your_initials"
state: directory
```
请将 `<your_target_host>` 替换为您的目标主机的主机名或IP地址。如果需要使用SSH密钥进行身份验证,请确保您已经将SSH密钥添加到被控机器的authorized_keys文件中。
相关问题
(2)使用ansible在被控机中建立一个文件夹:/root/你的姓名缩写
好的,您可以使用以下命令在被控机中建立一个文件夹:
```
ansible <被控机组名> -m file -a "path=/root/姓名缩写 state=directory"
```
其中,需要将`<被控机组名>`替换为您定义的被控机组的名称,`姓名缩写`替换为您的姓名缩写。例如,如果您的被控机组名为`web`,姓名缩写为`xyx`,则命令应该为:
```
ansible web -m file -a "path=/root/xyx state=directory"
```
请确保在运行命令之前已经完成了被控机的配置和连接。
(1) 使用ansible让被控机输出基本信息 (2) 使用ansible在被控机中建立一个文件夹:/root/你的姓名缩写 (3) 在主控端中建立一个文件,你的姓名缩写.txt。然后把这个文件通过ansible传递至(2)中的文件夹下 (4) 使用ansible,让被控端输出root目录下所有的文件或文件夹 (5)在主控端编写一个shell脚本hello.sh,内容为输出hello world。将这个脚本通过ansible让被控端执行。
好的,你的问题是如何使用Ansible实现以下任务:
1. 让被控机输出基本信息
2. 在被控机中建立一个文件夹:/root/你的姓名缩写
3. 在主控端中建立一个文件,你的姓名缩写.txt。然后把这个文件通过ansible传递至(2)中的文件夹下
4. 让被控端输出root目录下所有的文件或文件夹
5. 在主控端编写一个shell脚本hello.sh,内容为输出hello world。将这个脚本通过ansible让被控端执行。
下面是对你的问题的回答:
1. 让被控机输出基本信息
```yaml
- name: 获取系统信息
gather_facts: yes
tasks:
- name: 显示系统信息
debug:
var: ansible_facts
```
2. 在被控机中建立一个文件夹:/root/你的姓名缩写
```yaml
- name: 在被控机上创建文件夹
hosts: target
tasks:
- name: 创建文件夹
file:
path: /root/{{ lookup('env','USER')[:2] }}
state: directory
```
3. 在主控端中建立一个文件,你的姓名缩写.txt。然后把这个文件通过ansible传递至(2)中的文件夹下
```yaml
- name: 在主控端创建文件
hosts: control
tasks:
- name: 创建文件
copy:
content: "这是一些内容"
dest: "{{ lookup('env','HOME') }}/{{ lookup('env','USER')[:2] }}.txt"
- name: 将文件传输到被控机
hosts: target
tasks:
- name: 传输文件
copy:
src: "{{ lookup('env','HOME') }}/{{ lookup('env','USER')[:2] }}.txt"
dest: "/root/{{ lookup('env','USER')[:2] }}/"
```
4. 让被控端输出root目录下所有的文件或文件夹
```yaml
- name: 获取文件列表
hosts: target
tasks:
- name: 获取文件列表
find:
paths: /root/
file_type: any
register: files
- name: 显示文件列表
debug:
var: files.files
```
5. 在主控端编写一个shell脚本hello.sh,内容为输出hello world。将这个脚本通过ansible让被控端执行。
```yaml
- name: 在主控端创建hello.sh脚本
hosts: control
tasks:
- name: 创建脚本
copy:
content: "#!/bin/bash\n echo 'hello world'"
dest: "{{ lookup('env','HOME') }}/hello.sh"
mode: 0755
- name: 在被控机上执行脚本
hosts: target
tasks:
- name: 执行脚本
command: /bin/bash /root/hello.sh
```
阅读全文