Ansible之常用模块介绍
环境
ansible HOST-PATTERN -m MOD_NAME -a MOD_ARGS -C -f forks
ssh-keygen -t rsa -P ""
ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.0.0.51
ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.0.0.52
cat /etc/ansible/hosts
[webservers]
10.0.0.51
10.0.0.52 [dbservers]
10.0.0.51
1.ping
# 检查指定节点机器是否还能连通,用法很简单,不涉及参数
-C, --check:不作任何改变,只是干跑一遍命令
-a MODULE_ARGS
ansible all -m ping --list-hosts
2.user & group
使用模块时,帮助信息中写等号的,是必须得手动写明,其它的都是可选的,有默认值
present是创建,absent是删除
ansible-doc -s group
ansible -m group -a "gid=3000 name=testgrp state=present system=no"
ansible -m user -a "uid=5000 name=testuser state=present group=testgrp shell=/bin/tcsh"
3.copy
– src:要复制到远程主机的文件在本地的地址,可以是绝对路径,也可以是相对路径,如果路径使用”/”来结尾,则只复制目录里的内容,如果没有使用"/"来结尾,则包含目录在内的整个内容全部复制,类似于rsync.
ansible all -m copy -a 'src=/etc/fstab dest=/opt/fstab.bk owner=root mode=644'
ansible all -m copy -a "content='hi ansible\n' dest=/tmp/hello.txt"
fetch - name: Fetches a file from remote nodes 从远程节点获取文件
ansible dbservers -m fetch -a "src='/root/hi.txt' dest='/root'"
4.command
# 不是键值对,直接给出命令即可
ansible all -m command -a 'date'
# 如果不加-m模块,默认运行command模块
ansible all -a 'ls /'
# command无法给用户生成密码,只能把命令当字符串echo出来
ansible all -m command -a "echo mowang|passwd --stdin testuser"
5.shell
在远程主机上调用shell解释器执行命令,支持shell的各种功能
ansible all -m shell -a "echo mowang|passwd --stdin testuser"
6.file
该模块主要用于设置文件的属性,比如创建文件、创建链接文件、删除文件等
ansible all -m file -a "path=/var/tmp/hello stste=directory"
ansible all -m file -a "path=/var/tmp/fstab path=/var/tmp/fstab.link stste=link"
7.cron
ansible all -m cron -a 'minute="*/3" job="/usr/sbin/update 10.0.0.50 &> /dev/null" name="tongbushijian"'
8.yum
ansible all -m yum -a 'name=nginx state=installed'
9.service
ansible all -m service -a 'name=nginx enabled=true state=started'
10.script
cat test.sh
#!/bin/bash
echo "this is test script" > /opt/script.txt
ansible all -m script -a '/tmp/test.sh'
Ansible之常用模块介绍的更多相关文章
- Ansible常用模块介绍及使用(week5_day1_part2)--技术流ken
Ansible模块 在上一篇博客<Ansible基础认识及安装使用详解(一)--技术流ken>中以及简单的介绍了一下ansible的模块.ansible是基于模块工作的,所以我们必须掌握几 ...
- Ansible常用模块介绍及使用(2)
Ansible模块 在上一篇博客<Ansible基础认识及安装使用详解(一)–技术流ken>中以及简单的介绍了一下ansible的模块.ansible是基于模块工作的,所以我们必须掌握几个 ...
- python基础31[常用模块介绍]
python基础31[常用模块介绍] python除了关键字(keywords)和内置的类型和函数(builtins),更多的功能是通过libraries(即modules)来提供的. 常用的li ...
- ansible中常用模块详解
ansible中常用的模块详解: file模块 ansible内置的可以查看模块用法的命令如下: [root@docker5 ~]# ansible-doc -s file - name: Sets ...
- Ansible之常用模块(一)
ansible之所以功能强大,不是ansible本身,是因为它有众多的模块,前文我们介绍了ansible的基础介绍,系列命令的用法以及选项的说明,通过前文的学习我们知道了ansible是基于pytho ...
- ansible 四常用模块
常用模块 Ansible默认提供了很多模块来供我们使用.在Linux中,我们可以通过 ansible-doc -l 命令查看到当前Ansible支持哪些模块,通过 ansible-doc -s [模块 ...
- IIS7 常用模块介绍说明
1.1.0 IIS常用的功能模块介绍: 1) 静态内容:可发布静态 Web 文件格式,比如 HTML 页面和图像文件. 2) 默认文档:允许您配置当用户未在 URL ...
- ansible api常用模块与参数
###ansibleAPI 常用模块 用于读取yaml,json格式的文件 from ansible.parsing.dataloader import DataLoader #用于管理变量的类,包括 ...
- ansible API 常用模块
常用模块 用于读取yaml,json格式的文件 from ansible.parsing.dataloader import DataLoader #用于管理变量的类,包括主机,组,扩展等变量 fro ...
随机推荐
- HDU1042 A * B Problem Plus
A * B Problem Plus Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- 设计模式学习笔记——java中常用的设计模式
单例设计模式(Singleton Pattern) 观察者模式(Observer Pattern) 工厂模式(Factory Pattern) 策略模式(Strategy Pattern) 适配器模式 ...
- Python-S9——Day110-Git继续
1 当日内容概要 2 内容回顾 3 Git版本控制之多人协同开发 4 Git版本控制之fork 5 版本控制之其他 6 Redis之字典基本操作 7 Django中操作Redis 8 Django缓存 ...
- HTTP-响应状态
响应状态 有多种响应状态,如:200代表成功,301跳转,404找不到页面,502服务器错误 1xx消息 —— 请求已被服务器接收,继续处理 2xx成功 —— 请求已成功被服务器接收.理解.并接受 3 ...
- 设计模式之责任链模式 chainOfResp
后面我们将学习设计模式里面的行为型模式 代码实现 /** * 抽象类 * @author bzhx * 2017年3月14日 */ public abstract class Leader { pro ...
- astyle使用基础教程
astyle使用基础教程 转自: http://babybandf.blog.163.com/blog/static/61993532010112205811797/ astyle是一个我自己常用的开 ...
- poj3083 Children of the Candy Corn BFS&&DFS
Children of the Candy Corn Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 11215 Acce ...
- c语言有用函数收集
1 strtok :分解字符串为一组字符串.s为要分解的字符串,delim为分隔符字符串.首次调用时,s指向要分解的字符串,之后再次调用要把s设成NULL. 2 strstr :从字符串str1中查找 ...
- redis应用场景及实例
Redis在很多方面与其他数据库解决方案不同:它使用内存提供主存储支持,而仅使用硬盘做持久性的存储;它的数据模型非常独特,用的是单线程.另一个大区别在于,你可以在开发环境中使用Redis的功能,但却不 ...
- @inerface的11条规范写法
总结一些interface声明时的规范,相关宏的介绍,定义方法时有用的修饰符,编写注释的规范,最终写出一个合格的头文件. 1.读写权限 1.1实例变量的@public,@protected,@priv ...