#查看ansible的帮助
$ ansible -h
#ansible 指定不通的模块执行
$ ansible -i /etc/ansible/hosts docker -u root -m command -a "ls /home" -k
-i 指定清单的路径
-u 指定用户
-m 指定执行的模块
-k 提示输入密码
#连续的地址hosts的定义方法
$ 192.168.0.[0:100]
# 不通的组定义,分组定义hosts
[mfs:children]
mfs_master
mfs_logger
mfs_node
mfs_client
[mfs_master]
192.168.0.101
[mfs_logger]
192.168.0.102
#查看ansible中自带的模块
$ ansible-doc -l
#查看ansible模块的具体用法
$ ansible-doc -s user
#使用ansible查看详细硬件信息
$ ansible test -m setup
#使用file模块创建软连接
$ ansible test -m file -a "src=/etc/fstab dest=/tmp/fstab state=link"
注:使用-m参数是指定模块名,使用-a参数是指定参数
#使用ansible删除文件
$ ansible test -m file -a 'path=/tmp/fstab state=absent'
# 使用ansible的shell模块
$ ansible test -m shell -a "ps aux | grep sshd"
#使用ansible的service 模块管理服务
$ ansible test -m service -a "name=sshd state=started"
#在一个playbook中定义varsfile
$在playbooks目录下创建一个文件叫variables
cat variables
port: 80
http: apache
test.yml
---
- hosts: all
user: root
vars_files:
- variables
tasks:
- name: print IP
template: src=files/test1.txt dest=/tmp/test1.txt
set_fact:memcached_size="{{ansible_mentotoal_mb/4}}"
#通知重启服务
notify:
-restart memcached
handlers:
- name: restart memcached
service: name=memcached state=restarted enabled=yes
vars_files:
- vars
- vars1
tasks:
- include:tasks/foo.yml
---
- hosts: test
vars_files
- vars.yml
- vars1.yml
tasks:
- include: task.yml
handlers:
- include: handler.yml
groups_vars moosefs.hosts moosefs.yml roles tools