ansible 默认提供了非常多模块来供我们使用。

在 Linux 中,我们能够通过 ansible-doc -l 命令查看到当前 ansible 都支持哪些模块,通过 ansible-doc  -s  模块名  又能够查看该模块有哪些參数能够使用。

以下介绍比較经常使用的几个模块:

1
2
3
4
5
6
7
8
9
10
11
12
13
copy模块
file模块
cron模块
group模块
user模块
yum模块
service模块
script模块
ping模块
command模块
raw模块
get_url模块
synchronize模块

copy模块:

目的:把主控端/root文件夹下的a.sh文件复制到到指定节点上

命令:ansible 10.1.1.113 -m copy -a 'src=/root/a.sh dest=/tmp/'

运行效果:

file模块:

目的:更改指定节点上/tmp/t.sh的权限为755。属主和属组为root

命令:ansible all -m file -a "dest=/tmp/t.sh mode=755 owner=root group=root"

运行效果:

cron模块:

目的:在指定节点上定义一个计划任务,每隔3分钟到主控端更新一次时间

命令:ansible all -m cron -a 'name="custom job" minute=*/3 hour=* day=* month=* weekday=* job="/usr/sbin/ntpdate 172.16.254.139"'

运行效果:

group模块:

目的:在全部节点上创建一个组名为nolinux,gid为2014的组

命令:ansible all -m group -a 'gid=2014 name=nolinux'

运行效果:

user模块:

目的:在指定节点上创建一个username为nolinux,组为nolinux的用户

命令:ansible 10.1.1.113 -m user -a 'name=nolinux groups=nolinux state=present'

运行命令:

补充:删除用户演示样例

yum模块:

目的:在指定节点上安装 lrzsz 服务

命令:ansible all -m yum -a "state=present name=httpd"

运行效果:

service模块:

目的:启动指定节点上的 puppet 服务,并让其开机自启动

命令:ansible 10.1.1.113 -m service -a 'name=puppet state=restarted enabled=yes'

运行效果:

script模块:

目的:在指定节点上运行/root/a.sh脚本(该脚本是在ansible控制节点上的)

命令:ansible 10.1.1.113 -m script -a '/root/a.sh'

运行效果:

ping模块:

目的:检查指定节点机器是否还能连通

命令:ansible 10.1.1.113 -m ping

运行效果:

command模块:

目的:在指定节点上执行hostname命令

命令:ansible 10.1.1.113 -m command -a 'hostname'

运行效果:

raw模块:

目的:在10.1.1.113节点上执行hostname命令

命令:ansible 10.1.1.113 -m raw-a 'hostname|tee'

运行效果:

get_url模块:

目的:将http://10.1.1.116/favicon.ico文件下载到指定节点的/tmp文件夹下

命令:ansible 10.1.1.113 -m get_url -a 'url=http://10.1.1.116/favicon.ico dest=/tmp'

运行效果:

synchronize模块:

目的:将主控方/root/a文件夹推送到指定节点的/tmp文件夹下

命令:ansible 10.1.1.113 -m synchronize -a 'src=/root/a dest=/tmp/ compress=yes'

运行效果:

delete=yes   使两边的内容一样(即以推送方为主)

compress=yes  开启压缩,默觉得开启

--exclude=.git  忽略同步.git结尾的文件

因为模块。默认都是推送push。因此。假设你在使用拉取pull功能的时候。能够參考例如以下来实现

mode=pull   更改推送模式为拉取模式

目的:将10.1.1.113节点的/tmp/a文件夹拉取到主控节点的/root文件夹下

命令:ansible 10.1.1.113 -m synchronize -a 'mode=pull src=/tmp/a dest=/root/'

运行效果:

因为模块默认启用了archive參数,该參数默认开启了recursive, links, perms, times, owner。group和-D參数。假设你将该參数设置为no,那么你将停止非常多參数。比方会导致例如以下目的递归失败。导致无法拉取

其他相关的參数解释:

1
2
3
dest_port=22    # 指定目的主机的ssh端口。ansible配置文件里的 ansible_ssh_port 变量优先级高于该 dest_port 变量
rsync_path      # 指定 rsync 命令来在远程server上执行。这个參考rsync命令的--rsync-path參数,--rsync-path=PATH     # 指定远程server上的rsync命令所在路径信息
rsync_timeout   # 指定 rsync 操作的 IP 超时时间,和rsync命令的 --timeout 參数效果一样

OK!

以上暂且列举这些日常运维中常常会用到的一些模块,很多其它的模块信息后期会继续完好,大家也能够去官网查看很多其它的信息。

官网地址:http://docs.ansible.com/synchronize_module.html

ansible经常使用模块使用方法的更多相关文章

  1. ansible执行shell模块和command模块报错| FAILED | rc=127 >> /bin/sh: lsof: command not found和| rc=2 >> [Errno 2] No such file or directory

    命令: ansible -i hosts_20 st  -m shell -a 'service zabbix_agentd star'  -K --become ansible -i hosts_2 ...

  2. 二、Ansible基础之模块篇

    目录 1. Ansible Ad-Hoc 命令 1.1 命令格式 1.2 模块类型 1.3 联机帮助 1.3.1 常用帮助参数 1.4 常用模块 1.4.1 command & shell 模 ...

  3. ansible 四常用模块

    常用模块 Ansible默认提供了很多模块来供我们使用.在Linux中,我们可以通过 ansible-doc -l 命令查看到当前Ansible支持哪些模块,通过 ansible-doc -s [模块 ...

  4. thinkphp访问不存在的模块或者方法跳转到404页面

    使用的thinkphp 版本是3.2.0, 在config.php中配置 404地址,即可: 'TMPL_EXCEPTION_FILE' => './Application/Home/View/ ...

  5. ThinkPHP3.2判断手机端访问并设置默认访问模块的方法

    ThinkPHP3.2判断是否为手机端访问并跳转到另一个模块的方法 目录结构 公共模块Common,Home模块,Mobile模块 配置Application/Common/Conf/config.p ...

  6. apache2服务器mod_rewrite模块 开启方法[linux, ubuntu]

    在UBUNTU系统中要启用mod_rewrite的方法有两种: 第一种: 在终端中执行 sudo a2enmod rewrite 指 令后,即启用了 Mod_rewrite 模块, apache2服务 ...

  7. python在不同层级目录import模块的方法

    使用python进行程序编写时,经常会使用第三方模块包.这种包我们可以通过python setup install 进行安装后,通过import XXX或from XXX import yyy 进行导 ...

  8. ansible命令执行模块使用

    ansible命令执行模块使用 1.命令执行模块-command 在远程节点上运行命令. 命令模块使用命令名称,接上空格-的分割符作为参数使用,但是不支持管道符和变量等,如果要使用这些,那么可以使用s ...

  9. Python学习笔记4-如何快速的学会一个Python的模块、方法、关键字

    想要快速的学会一个Python的模块和方法,两个函数必须要知道,那就是dir()和help() dir():能够快速的以集合的型式列出该模块下的所有内容(类.常量.方法)例: #--encoding: ...

随机推荐

  1. linux定时器【转】

    转自:http://www.cnblogs.com/processakai/archive/2012/04/11/2442294.html 今天看书看到了关于alarm的一些用法,自己有在网上找了些资 ...

  2. Ubuntu 12.04将默认集成Landscape管理套件【转】

    转自:https://imtx.me/archives/1702.html 今天,我像往常一样对我的Ubuntu 12.04 Beta进行了一次常规升级,然后我发现在系统设置当中多了一个图标,叫「Ma ...

  3. USB-HID鼠标、键盘通讯格式【转】

    转自:https://blog.csdn.net/techhome803/article/details/9928873 转自:http://www.amobbs.com/forum.php?mod= ...

  4. 『实践』Yalmip+Ipopt+Cplex使用手册

    Yalmip+Ipopt+Cplex使用手册 1.软件版本 Cplex 12.6.2,Matlab R2014a,Ipopt 3.12.9,Yalmip 2.Cplex添加方法 官方下载地址: htt ...

  5. Python学习二|Python的一些疑问

    最近写了一点Python代码,作为一个java程序员,面对Python这么便捷的语言不禁有点激动.不过呢,有时候也会遇到一些无法理解的东西. 例如: er = [[1,2,3], [4,5,6], [ ...

  6. 【LOJ】#2264. 「CTSC2017」吉夫特

    题解 根据一番认真严肃的猜结论和打表证明之后 我们可以得到 \(f[i] = (\sum_{a[i] \& a[j] == a[j]} f[j]) + 1\) 统计所有的\(f[i] - 1\ ...

  7. 000 SpringMVC介绍

    1.介绍 2.MVC 模型(Model)封装了应用程序数据,通常它们将由POJO类组成. 视图(View)负责渲染模型数据,一般来说它生成客户端浏览器可以解释HTML输出. 控制器(Controlle ...

  8. 树状数组解决LIS---O(nlogn)

    树状数组解决LIS---O(nlogn)之前写过二分查找的LIS,现在不怎么记得了,正好用Bit来搞一波.f[i]表示以a[i]结尾的LIS的长度.t[x]表示以数值x结尾的LIS的长度.即t[x]= ...

  9. BZOJ.1013.[JSOI2008]球形空间产生器(高斯消元)

    题目链接 HDU3571 //824kb 40ms //HDU3571弱化版 跟那个一比这个太水了,练模板吧. //列出$n+1$个二次方程后两两相减,就都是一次方程了. #include <c ...

  10. BZOJ.4517.[SDOI2016]排列计数(错位排列 逆元)

    题目链接 错位排列\(D_n=(n-1)*(D_{n-1}+D_{n-2})\),表示\(n\)个数都不在其下标位置上的排列数. 那么题目要求的就是\(C_n^m*D_{n-m}\). 阶乘分母部分的 ...