ansible使用

1.安装

yum install epel-release -y

yum install ansible
# rpm -ql 安装服务的名称,下面以ansible服务为例
rpm -ql ansible |more

在这里插入图片描述

查看某个Module参数使用
查看ansible支持的模块列表

ansible-doc -l 

在这里插入图片描述
查看对应模块的参数使用

ansible-doc -s shell

在这里插入图片描述

2.shell

2.1命令行方式

 # 简单示例
 ansible webservers -m shell -a 'mkdir /tpm/cch'
 
 ansible webservers -m shell -a 'ls /tpm/'
 
# 执行多条命令,使用 && 分割
ansible webservers -m shell -a 'cd /tmp && ls /tmp && ./test.sh >x'

2.2 playload方式

执行方式:
ansible-playbook shell.yaml

shell.yaml文件名称

---
- hosts: webservers
  vars:
    http_port: 80
    server_name: www.ctnrs.com
  remote_user: root
  gather_facts: false
  tasks:
  - name: shell测试
    shell: |
         echo 111111111 > /tmp/xxx
         mkdir /tmp/yyy

3. file

#创建目录
 ansible webservers -m file -a 'path=/tmp/test2 state=directory mode=755'


# 删除文件
ansible webservers  -m file -a 'path=/tmp.cch.txt state=absent'

# 递归删除目录
ansible webservers -m file -a 'path=/tmp/test state=absent '

4.yum

4.1 命令行方式

# name指定版本安装
ansible webservers -m yum -a "name=http://nginx.org/packages/rhel/7/x86_64/RPMS/nginx-1.16.1-1.el7.ngx.x86_64.rpm state=present"

#不指定版本安装
 ansible webservers -m yum -a "name=nginx state=present"

# yum卸载
ansible webservers -m yum -a "name=nginx state=absent"

4.2 playload方式

---
- hosts: webservers
  vars:
    http_port: 80
    server_name: www.ctnrs.com
  remote_user: root
  gather_facts: false
  tasks:
  - name: yum测试
    yum:
     name: http://nginx.org/packages/rhel/7/x86_64/RPMS/nginx-1.14.0-1.el7_4.ngx.x86_64.rpm
     state: present

5.service/systemd

如果被控制的主机的操作系统是centos7,相当于在目标主机上执行:systemctl stop nginx
通过ansible-doc -s systemd 官方文档进行学习

举例如下

---
- hosts: webservers
  vars:
    http_port: 80
    server_name: www.ctnrs.com
  remote_user: root
  gather_facts: false
  tasks:
  - name: systemd测试
    systemd:
     name=nginx
     state=stopped
     enabled=yes
     daemon_reload=yes

6.unarchive

将本机上的压缩包传输到被控制机器上解压
通过ansible-doc -s unarchive 官方文档进行学习
举例如下:

---
- hosts: webservers
  remote_user: root
  gather_facts: false
  tasks:
  - name: unarchive测试
    unarchive:
         src=/tmp/test.tar.gz
         dest=/tmp

7.debug

相当于打印log日志
通过 ansible-doc -s debug 官方文档进行学习

---
- hosts: webservers
  remote_user: root
  gather_facts: false
  tasks:
  - name: debug测试
    debug:
      msg: IP=  "{{ inventory_hostname }}"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值