笔记#ansible————模块

ansible使用模块时要用-m  后面加模块名

后面加-a 接所执行的命令,执行的命令用“”‘’括起来,一般用‘’,后面加-u接用户,表示指定用户, ansible的用法:

ansible<host-patten>[-m  module_name][-a args]

--version  显示版本

-m  module指定模块,默认为command模块

-v显示执行时详细过程,-vv  -vvv  更详细

--list-hosts显示主机列表,可简写为list

-k,--ask-pass 提示输入ssh连接密码,默认key验证

-K,--ask-become-pass提示输入sudo时的口令

-C,--check检查,并不执行

-T,--timeout=TIMEOUT执行命令的超时时间,默认10s

-u,--user=REMOTE_USER执行远程执行的用户,在未进行key验证时后面加-k,回车后输入口令

-b,--become代替旧版的sudo切换,代替root身份执行,在未进行key验证时后面加-K,回车后输入口令,前提是-u后面的身份必须得到sudo授权,或者加入授权组,也可以使授权组不用输入口令

host-pattern:是主机清单里的ip,可以写ip,可以写all代表全部,可以写分组名,可以用通配符代替分组名,使用分组时可以用‘与:&’‘非:!’比如:‘webs:!dbs’表示在webs组里不在dbs组里

ansible的执行过程:

1加载自己的配置文件,默认/etc/ansible/ansible.cfg

2加载自己的对应模块文件,如:command

3通过ansible将模块或命令生成对应的临时Python文件,并将改文件传输至远程服务器的对应执行用户$HOME/.ansible/tmp/ansible-tmp-数字/XXX.PY文件

4给文件+x执行

5执行并返回结果

6删除临时Python文件,sleep 0退出

以下操作都已基于key验证

ping模块

ping模块,不基于tcp/ip,使用时前面加-m 



command模块:


因为-m默认的是command模块可以不用加-m  command


可以用ansible-doc   command 查看command模块详细使用文档





用上面的操作执行脚本要带#!/bin/bash


command模块无法对符号|   、变量、> 、&等进行操作。所以使用shell模块

shell模块:万能模块,打包压缩、

可以用ansible-doc  shell查看详细使用信息,根command用法差不多


Script  : 运行脚本的模块

在ansible方把脚本编写好,用script就可执行。


copy模块:把本机文件推送到远程被控制的主机上,

用ansible-doc  -s   copy  查看详细用法




1.把系统自带的配置文件拷贝到当前文件夹里,并改配置文件




不想要备份的文件可以用shell模块删除,不能用command模块删除

Fetch模块

用ansible-doc    -s   fetch  查看详细的用法




archive打包模块

可以用ansible-doc   archive查看详细用法

unarchive解包模块

用ansible-doc     unarchive查看详细用法

file模块:创建文件的

用ansible-doc    -s   file查看详细用法





state根据具体的值创建不同的文件夹




创建软连接




hostname模块:管理主机名并且改配置文件

不改centos7里,配置文件/etc/hosts

改变centos6里,配置文件/etc/sysconfig/network

改变centos7里,配置文件/etc/hostname

用ansible-doc   -s  hostname查看详细用法

cron模块:计划任务的模块

用ansible-doc   -s    cron  查看详细用法


创建计划任务

关掉计划任务


删除计划任务


yum模块:

用ansible-doc  -s   yum 查看详细用法

未完待续  
























猜你喜欢

转载自blog.csdn.net/lhl98765432/article/details/80550466