ansible 的底层是 python ,但是我们在使用 ansible 的时候不需要写 python 脚本,而是直接调用模块即可。
模块是由红帽官方或者其他合作伙伴或开发爱好者开发好的脚本,我们可以通过调用模块,来执行对应的命令。
ansible-doc -l
ansible-doc ping
ansible" host-pattern" -m "module" -a"module argument" -i "inventroy-path"
playbook 是一个 yaml 格式的文件,后缀名为 .yml 或者 .yaml
在一个 playbook 文件中,可以包含多个 play
一个 play 就是要在指定主机中执行的一系列 *** 作,在一个 play 中可以指定 hosts (在哪些主机上执行)和 tasks (执行哪些命令)
tasks 中可以包含多个 task ,每个 task 就是对一个模块的调用
ansible-playbook webserver.yml -e "user=root"
Playbook通常是幂等的,即同一个playbook,无论运行多少次,最终的结果都是一样的。如果被控主机之前已经进行了更改,那么再次运行playbook的时候不会进行变更。
以下是一个 playbook 的执行结果示例
TASK 的执行结果
2020-10-29通过创建yaml文件创建用户,playbook模式,编写useradd.yaml写入以下内容(注意格式,该对齐的地方要对齐,要不然会报错)
- hosts: test #组名
tasks:
- name: create user
user:
name: "{{ item.user }}"
password: "{{ 'item.pass' | password_hash('sha512') }}" #采用哈希加密
state: present
loop:
- { user: user1, pass: 123}
- { user: user2, pass: 456}
- { user: user3, pass: 789}
执行:[root@docker lxt]# ansible-playbook useradd.yml
#######################并没有什么卵用的分割线######################
批量删除用户,步骤同上,编辑一个userdel.yaml文件
- hosts: test
tasks:
- name: delete user
user:
name: "{{ item.user }}"
password: "{{ 'item.pass' | password_hash('sha512') }}" #采用哈希加密
state: absent #缺少
remove: yes
loop:
- { user: user1}
- { user: user2}
- { user: user3}
执行:[root@docker lxt]# ansible-playbook userdel.yml
1、打开记事本,编写dos命令。 2、保存为.bat文件。 3、通过dos命令框打开运行.bat文件文件就可以了。 .bat: 批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,欢迎分享,转载请注明来源:内存溢出
评论列表(0条)