ansible的模块使用说明
参考官方链接:
https://docs.ansible.com/ansible/latest/user_guide/intro_adhoc.html#parallelism-and-shell-commands
- shell模块使用
提权操作:
[root@ansible-test ~]# ansible test1 -m shell -a "ls /root" -u zhouyuqiang -k --become -K
SSH password:
SUDO password[defaults to SSH password]:
test1 | CHANGED | rc=0 >>
anaconda-ks.cfg
GateOne-master
master.zip
- copy操作:
官方:
$ ansible atlanta -m copy -a "src=/etc/hosts dest=/tmp/hosts"
实际:
[root@ansible-test ~]# ansible web1 -m copy -a "src=/root/redis-5.0.3.tar.gz dest=/usr/local/src"
查询:
[root@ansible-test ~]# ansible web1 -m shell -a "ls /usr/local/src"
172.16.188.191 | CHANGED | rc=0 >>
redis-5.0.3.tar.gz
- file模块:
创建文件夹:
state 一定需要指定:
状态:
创建文件夹:directory
(递归)删除文件:absent
创建一个文件:touch
[root@ansible-test ansible-yaml]# ansible web -m file -a "dest=/etc/yum.repos.d/nginx.repo state=absent"
test2 | CHANGED => {
"changed": true,
"path": "/etc/yum.repos.d/nginx.repo",
"state": "absent"
}
test1 | CHANGED => {
"changed": true,
"path": "/etc/yum.repos.d/nginx.repo",
"state": "absent"
}
test3 | CHANGED => {
"changed": true,
"path": "/etc/yum.repos.d/nginx.repo",
"state": "absent"
}
- yum模块
state 一定需要
状态:
具体版本:present
最新版本:latest
name 是指定需要安装的包名
[root@ansible-test opt]# ansible web1 -m yum -a "name=memcached state=present"
卸载一个版本:
指定状态就可以:absent
[root@ansible-test opt]# ansible web1 -m yum -a "name=memcached state=absent"
- user模块
创建一个用户并设置密码:
[root@ansible-test ~]# ansible web1 -m user -a "name=user1 password=1"
查询:
[root@ansible-test ~]# ansible web1 -m user -a "name=user1 password=1"
删除用户:
指定状态即可:absent
[root@ansible-test ~]# ansible web1 -m user -a "name=user1 state=absent"
指定创建用户不能登录,一般是服务用户:
[root@ansible-test ~]# ansible web1 -m user -a "name=user1 password=123 shell=/sbin/nologin "
如下:
user1❌1002:1003::/home/user1:/sbin/nologin
- git 模块
需要指定用户:-uroot
repo指定git仓库地址
目标主机需要有git命令,没有进行安装
[root@ansible-test ~]# ansible web1 -m yum -a "name=git state=latest"
[root@ansible-test ~]# ansible web1 -vvvv -m git -a "repo=https://github.com/ansible/ansible.git dest=/opt/ansibleå-source" -uroot
- Managing Services启动服务模块
启动服务:
state=started
state=started
[root@ansible-test ~]# ansible web -m service -a "name=memcached state=started" -uroot
关闭服务:
state=stopped
[root@ansible-test ~]# ansible web -m service -a "name=memcached state=stopped" -uroot
重新启动:
state=restarted
[root@ansible-test ~]# ansible web -m service -a "name=memcached state=restarted" -uroot
加入开机启动:
enabled=true
[root@ansible-test ~]# ansible web -m service -a "name=memcached enabled=true" -uroot
- setup模块
[root@ansible-test ~]# ansible web -m setup
如:
"ansible_system_capabilities_enforced": "True",
"ansible_system_vendor": "VMware, Inc.",
"ansible_uptime_seconds": 82564,
"ansible_user_dir": "/root",
"ansible_user_gecos": "root",
"ansible_user_gid": 0,
"ansible_user_id": "root",
"ansible_user_shell": "/bin/bash",
"ansible_user_uid": 0,
"ansible_userspace_architecture": "x86_64",
"ansible_userspace_bits": "64",
"ansible_virtualization_role": "guest",
进行过滤操作:
"filter=ansible_user_shell"
[root@ansible-test ~]# ansible web -m setup -a "filter=ansible_user_shell"
test2 | SUCCESS => {
"ansible_facts": {
"ansible_user_shell": "/bin/bash"
[root@ansible-test ~]# ansible web -m setup -a "filter=ansible_all_ipv4_addresses"
test2 | SUCCESS => {
"ansible_facts": {
"ansible_all_ipv4_addresses": [
"172.16.188.191"
]
},
"changed": false
}
可以通过统配符进行匹配:
如:filter=ipv4
[root@ansible-test ~]# ansible web -m setup -a "filter=ipv4"
test2 | SUCCESS => {
"ansible_facts": {
"ansible_all_ipv4_addresses": [
"172.16.188.191"
],
"ansible_default_ipv4": {
"address": "172.16.188.191",
"alias": "eth0",
"broadcast": "172.16.188.255",
"gateway": "172.16.188.1",
- playbook的模块
yaml的语法,采用yaml语法,具体语法其实很简单,主要是空格区分目录。每个目录层级是2个空格,每个:后面一定要需要空格,否则语法报错
ansible的模块使用说明的更多相关文章
- Ansible 常见模块介绍
目录 Ansible 常见模块介绍 ping 模块 command 模块 cron 模块 user 模块 group 模块 copy 模块 file 模块 service 模块 shell 模块 sc ...
- ansible服务模块和组模块使用
本篇文章主要是介绍ansible服务模块和组模块的使用. 主要模块为ansible service module和ansible group moudle,下面的内容均是通过实践得到,可以直接运行相关 ...
- ansible常用模块用法
ansible常用模块用法 2015-07-21 10:25 24458人阅读 评论(1) 收藏 举报 分类: Linux(44) ansible 版权声明:本文为博主原创文章,未经博主允许不得 ...
- Linux之ansible 常用模块
目的 代码发布系统 代码发布:把本地的代码通过某些方式弄到线上,可以供别人访问 部署 前戏 ansible 批量在远程主机上执行命令 puppet ruby ansible saltstack pyt ...
- Ansible常用模块介绍及使用(week5_day1_part2)--技术流ken
Ansible模块 在上一篇博客<Ansible基础认识及安装使用详解(一)--技术流ken>中以及简单的介绍了一下ansible的模块.ansible是基于模块工作的,所以我们必须掌握几 ...
- Ansible常用模块命令
Ansible常用模块命令 一.安装ansible yum install epel-release yum install ansible 二.配置文件配置 vi /etc/ansible/ansi ...
- ansible 常用模块的使用
安装 yum -y install ansible 配置文件/etc/ansible/hosts 模块介绍与使用 ping模块 [root@node1 config]# ansible k8s -m ...
- Ansible 常用模块(一)
一.Ansible简介 Ansible是新出现的自动化运维工具,基于python开发,集合了众多运维工具(puppet(ruby).cfengine.chef.func.fabric.)的优点,实现了 ...
- ansible核心模块playbook介绍
ansible的playbook采用yaml语法,它简单地实现了json格式的事件描述.yaml之于json就像markdown之于html一样,极度简化了json的书写.在学习ansible pla ...
随机推荐
- 点到圆弧的距离(csu1503)+几何
1503: 点到圆弧的距离 Time Limit: 1 Sec Memory Limit: 128 MB Special JudgeSubmit: 325 Solved: 70[Submit][ ...
- vim 的:x和:wq
vim是Unix/Linux系统最常用的编辑器之一,在保存文件时,我通常选择":wq",因为最开始学习vim的时候,就只记住了几个常用的命令:也没有细究命令的含义. 但是,最近我在 ...
- 为链表数据结构实现iterator接口
iterator作用 为所有的数据结构提供统一的访问方式. 接口对象 接口对象一共有3个方法,next()方法.return()方法.throw()方法. next() 必填 用于for..of迭代. ...
- jQuery 事件 - ready() 方法
转载:http://www.w3school.com.cn/jquery/jquery_hide_show.asp 实例 在文档加载后激活函数: $(document).ready(function( ...
- 网页导航栏 html + css的代码实现
一般来讲,我们的网页导航栏是这么个模式来构建在结构上:1.首先我们需要给导航栏的div 给个类名 一般为nav2.然后就是一个无序表格 3.由于导航栏的文字一般都是链接用来跳转页面 要在li里面包含一 ...
- 【20190223】HTTP-知识点整理:HTTPS
HTTPS:添加了加密及认证机制的HTTP HTTPS 并非是应用层的一种新协议.只是 HTTP 通信接口部分用SSL(Secure Socket Layer)和 TLS(Transport Laye ...
- AWS专线服务总结和疑问
1.AWS专线服务的入口, 从介绍页上可以看到,有如下功能: (1)专线可以连接AWS云主机和传统的数据中心或者分支机构. (2)专线可以连接AWS云主机和托管区的主机. 连接要素: (1)需要使用V ...
- onmouseover和onmouseenter区别
onmouseover和onmouseenter都是鼠标进入时触发,onmouseover在所选元素的子元素间切换的时候也触发! <!doctype html><html lang= ...
- HDU 1840 Equations (简单数学 + 水题)(Java版)
Equations 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1840 ——每天在线,欢迎留言谈论. 题目大意: 给你一个一元二次方程组,a(X^2 ...
- Eclipse启动时发生An internal error occurred duri ng: "Initializing Java Tooling ----网上的坑爹的一个方法
补充一下: 上面的方法不行. 我的个人解决方法 出现这种问题的原因,我的是eclipse换了,工作目录还是用之前的那个 把build Automatically的钩去掉 假设我们是用之前的worksp ...