2020-03-13

ansible常用模块 加-m 不加名字默认是command模块

scripts模块,把主控端上的脚本复制到被控端上执行,脚本是在主控端上的

ansible host-inventory  -m script -a  “脚本绝对路径名”

我们可以在被控端上查看是否有对应的进程


free_form参数 :必须参数,指定需要执行的脚本,脚本位于 ansible 管理主机本地,并没有具体的一个参数名叫 free_form,具体解释请参考 command 模块。

chdir参数 : 此参数的作用就是指定一个远程主机中的目录,在执行对应的脚本之前,会先进入到 chdir 参数指定的目录中。

creates参数 :使用此参数指定一个远程主机中的文件,当指定的文件存在时,就不执行对应脚本,可参考 command 模块中的解释。

removes参数 :使用此参数指定一个远程主机中的文件,当指定的文件不存在时,就不执行对应脚本,可参考 command 模块中的解释。



ping模块,我们可以来批量测试许多服务器是否跌机或者哪些网络中断了


command模块

默认模块,可以不加command,可以加-a 参数在被控端上执行简单命令

ansible host-group -a "find . -name 'docker' "



free_form参数 :必须参数,指定需要远程执行的命令。需要说明一点,free_form 参数与其他参数(如果想要使用一个参数,那么则需要为这个参数赋值,也就是name=value模式)并不相同。比如,当我们想要在远程主机上执行 ls 命令时,我们并不需要写成”free_form=ls” ,这样写反而是错误的,因为并没有任何参数的名字是 free_form,当我们想要在远程主机中执行 ls 命令时,直接写成 ls 即可。因为 command 模块的作用是执行命令,所以,任何一个可以在远程主机上执行的命令都可以被称为 free_form。

chdir参数 : 此参数的作用就是指定一个目录,在执行对应的命令之前,会先进入到 chdir 参数指定的目录中。

creates参数 :看到 creates,你可能会从字面上理解这个参数,但是使用这个参数并不会帮助我们创建文件,它的作用是当指定的文件存在时,就不执行对应命令,比如,如果 /testdir/test文件存在,就不执行我们指定的命令。

removes参数 :与 creates 参数的作用正好相反,它的作用是当指定的文件不存在时,就不执行对应命令,比如,如果 /testdir/tests 文件不存在,就不执行我们指定的命令,此参数并不会帮助我们删除文件。


cron模块,顾名思义和crontab的功能一样,用于定时执行脚本,一般可以用于数据库的定时备份

ansible db -m cron -a 'minute="*/10 " hour=" " day=" " mouth= " " weekday=" " job= "脚本路径或命令  /bin/echo trippal "

name= “(必须填写)  test ”  state="present or absent"

ansible db  -a  "crontab -l"


setup模块

用于获取主机信息

ansible -m setup -a 'filter=ansible_machine'




ansible_all_ipv4_addresses:仅显示ipv4的信息。

ansible_devices:仅显示磁盘设备信息。

ansible_distribution:显示是什么系统,例:centos,suse等。

ansible_distribution_major_version:显示是系统主版本。

ansible_distribution_version:仅显示系统版本。

ansible_machine:显示系统类型,例:32位,还是64位。

ansible_eth0:仅显示eth0的信息。

ansible_hostname:仅显示主机名。

ansible_kernel:仅显示内核版本。

ansible_lvm:显示lvm相关信息。

ansible_memtotal_mb:显示系统总内存。

ansible_memfree_mb:显示可用系统内存。

ansible_memory_mb:详细显示内存情况。

ansible_swaptotal_mb:显示总的swap内存。

ansible_swapfree_mb:显示swap内存的可用内存。

ansible_mounts:显示系统磁盘挂载情况。

ansible_processor:显示cpu个数(具体显示每个cpu的型号)。

ansible_processor_vcpus:显示cpu个数(只显示总的个数)。

更多自己去ansible官网看看

user模块



free_form参数 :必须参数,指定需要远程执行的命令。需要说明一点,free_form 参数与其他参数(如果想要使用一个参数,那么则需要为这个参数赋值,也就是name=value模式)并不相同。比如,当我们想要在远程主机上执行 ls 命令时,我们并不需要写成”free_form=ls” ,这样写反而是错误的,因为并没有任何参数的名字是 free_form,当我们想要在远程主机中执行 ls 命令时,直接写成 ls 即可。因为 command 模块的作用是执行命令,所以,任何一个可以在远程主机上执行的命令都可以被称为 free_form。

chdir参数 : 此参数的作用就是指定一个目录,在执行对应的命令之前,会先进入到 chdir 参数指定的目录中。

creates参数 :看到 creates,你可能会从字面上理解这个参数,但是使用这个参数并不会帮助我们创建文件,它的作用是当指定的文件存在时,就不执行对应命令,比如,如果 /testdir/test文件存在,就不执行我们指定的命令。

removes参数 :与 creates 参数的作用正好相反,它的作用是当指定的文件不存在时,就不执行对应命令,比如,如果 /testdir/tests 文件不存在,就不执行我们指定的命令,此参数并不会帮助我们删除文件。


yum模块


yum 模块可以帮助我们在被控端服务器安装或者卸载相关软件包

name参数:必须参数,用于指定需要管理的软件包,比如 nginx。

state参数:用于指定软件包的状态 ,默认值为。present,表示确保软件包已经安装,除了。present,其他可用值有 installed、latest、absent、removed,其中 installed 与present 等效,latest 表示安装 yum 中最新的版本,absent 和 removed 等效,表示删除对应的软件包。

disable_gpg_check参数:用于禁用对 rpm 包的公钥 gpg 验证。默认值为 no,表示不禁用验证,设置为 yes 表示禁用验证,即不验证包,直接安装。在对应的 yum 源没有开启 gpg 验证的情况下,需要将此参数的值设置为 yes,否则无法安装

enablerepo参数:用于指定安装软件包时临时启用的 yum 源。假如你想要从A源中安装软件,但是你不确定A源是否启用了,你可以在安装软件包时将此参数的值设置为 yes,即使A源的设置是未启用,也可以在安装软件包时临时启用A源。

disablerepo参数:用于指定安装软件包时临时禁用的 yum 源。某些场景下需要此参数,比如,当多个 yum 源中同时存在要安装的软件包时,你可以使用此参数临时禁用某个源,这样设置后,在安装软件包时则不会从对应的源中选择安装包。

enablerepo 参数和 disablerepo 参数可以同时使用。

因为我这里对应的yum源有开启 gpg 验证,所以不能设置disable_gpg_check为yes,必须验证gpgcheck才能安装


file模块

传送文件用的模块

创建文件,如果已经有了,那么就只更新时间戳

.在 nginx-group 主机上创建一个名为 /root/trippal 的目录,如果 /testdir/trippal 目录已经存在,则不进行任何操作。



path参数 :必须参数,用于指定要操作的文件或目录,在之前版本的ansible中,使用dest参数或者name参数指定要操作的文件或目录,为了兼容之前的版本,使用dest或name也可以。

state参数 :此参数非常灵活,其对应的值需要根据情况设定。比如,我们想要在远程主机上创建/testdir/a/b目录,那么则需要设置path=/testdir/a/b,但是,我们无法从”/testdir/a/b“这个路径看出b是一个文件还是一个目录,ansible也同样无法单单从一个字符串就知道你要创建文件还是目录,所以,我们需要通过state参数进行说明。当我们想要创建的/testdir/a/b是一个目录时,需要将state的值设置为directory,”directory”为目录之意,当它与path结合,ansible就能知道我们要操作的目标是一个目录。同理,当我们想要操作的/testdir/a/b是一个文件时,则需要将state的值设置为touch。当我们想要创建软链接文件时,需将state设置为link。想要创建硬链接文件时,需要将state设置为hard。当我们想要删除一个文件时(删除时不用区分目标是文件、目录、还是链接),则需要将state的值设置为absent,”absent”为缺席之意,当我们想让操作的目标”缺席”时,就表示我们想要删除目标。

src参数 :当state设置为link或者hard时,表示我们想要创建一个软链或者硬链,所以,我们必须指明软链或硬链链接的哪个文件,通过src参数即可指定链接源。

force参数 : 当state=link的时候,可配合此参数强制创建链接文件,当force=yes时,表示强制创建链接文件。不过强制创建链接文件分为三种情况。情况一:当要创建的链接文件指向的源文件并不存在时,使用此参数,可以先强制创建出链接文件。情况二:当要创建链接文件的目录中已经存在与链接文件同名的文件时,将force设置为yes,会将同名文件覆盖为链接文件,相当于删除同名文件,创建链接文件。情况三:当要创建链接文件的目录中已经存在与链接文件同名的文件,并且链接文件指向的源文件也不存在,这时会强制替换同名文件为链接文件。

owner参数 :用于指定被操作文件的属主,属主对应的用户必须在远程主机中存在,否则会报错。

group参数 :用于指定被操作文件的属组,属组对应的组必须在远程主机中存在,否则会报错。

mode参数:用于指定被操作文件的权限,比如,如果想要将文件权限设置为”rw-r-x---“,则可以使用mode=650进行设置,或者使用mode=0650,效果也是相同的。如果想要设置特殊权限,比如为二进制文件设置suid,则可以使用mode=4700。

recurse参数:当要操作的文件为目录,将recurse设置为yes,可以递归的修改目录中文件的属性。


service模块

管理服务的模块,一般用来开启或者关闭,查看服务的状态

name参数:此参数用于指定需要操作的服务名称,比如 nginx。

state参数:此参数用于指定服务的状态,比如,我们想要启动远程主机中的 nginx,则可以将 state 的值设置为 started;如果想要停止远程主机中的服务,则可以将 state 的值设置为 stopped。此参数的可用值有 started、stopped、restarted、reloaded。

enabled参数:此参数用于指定是否将服务设置为开机 启动项,设置为 yes 表示将对应服务设置为开机启动,设置为 no 表示不会开机启动。


这个太简单了,我在这里不详细介绍

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 运维核心工作: 操作系统安装(物理机、虚拟机)--> 应用程序包部署(安装、配置、服务启动 )--> 批量操作 -...
    Net夜风阅读 5,522评论 0 4
  • 做个记录,以防自己又忘记了,ansible配置免密登陆,其实就是把ansible server的公钥发送给ansi...
    博客用户阅读 1,196评论 0 0
  • 1)安装2)常用模块3)inventory4)playbook(role\tag\template)5) yaml...
    秦记阅读 9,777评论 2 5
  • Memcache和Redis的区别?Redis和memcached 的内存管理的区别? 网络IO模型:Memcac...
    星冉子阅读 3,523评论 0 1
  • 一.ansible简介 ansible是自动化运维工具,基于Python开发,集合了众多运维工具(puppet、c...
    宇晨棒棒的阅读 4,617评论 0 1