• Ansible-doc里面的一些简单模块使用


    ansible-doc  -l |grep 模块名                  //模块搜索

    ansible-doc  模块名  =============>    /EXAMPLE      //查看帮助

    针对于普通用户在命令行执行ansible命令:

           ansible 主机或主机集合   -m    模块  -u  普通用户  -a    '远程命令'    -become=true

    eg:

    ansible 10.10.31.100 -m apt -a 'name="safe-rm" state=present' -become=true 

    在ansible.cfg配置文件的同级目录下执行

    1.command模块:    远程执行命令,并返回结果到ansible主机

    ansible 主机或主机集合   -m(模块) command -a(命令) '远程命令'

    “<” ,“>”, “|”(管道), “;", “&”,“ $” 都只能在shell模块中执行,该模块不支持|管道命令

    • chdir:切换目录

    ansible 主机 -m command -a 'chdir=/opt/test ls'                   //切换目录执行命令

    • creates:当文件存在则不执行命令,可用于判断,不会真的创建

    ansible 主机 -m command -a 'creates=/opt/test ls'                //目录存在则不执行命令

    • removes:当文件不存在则不执行命令,可用于判断,不会真的删除

    ansible 主机 -m command -a 'removes=/opt/test ls'       //目录如果不存在,则不执行命令

     

    2.shell模块:同于command模块 ,但shell模块是通过调用远程主机的shell解释器执行命令的,可以执行shell的各种功能命令

    eg:

    ansible webs -m shell -a 'echo ${HOSTNAME}'                 //取消本地的结果输出,直接在ansible远程主机上执行echo ${HOSTNAME}

    ansible webs -m shell -a "echo ${HOSTNAME}"                 //在本机事先执行echo ${HOSTNAME},再输出到远程的ansible被管理主机上

    3.yum模块

    ansible 主机或主机集合   -m yum -a 'name=软件包名  state=状态'

                                                                                                 installed emoved

    4.service模块

    ansible 主机或主机集合  -m service -a 'name=服务名     enabled=yes o     state=状态’

                                                                                               开机是否自启         state: started    stopped   restarted   reloaded

    5.copy模块:同于rsync 中的/                      //只能拷贝文件,或压缩包

    /opt/test/    /mnt                   把/opt/test/下的内容拷贝到/mnt下

    /opt/test     /mnt                   把/opt下的test拷贝到/mnt下

    ansible 主机或主机集合  -m copy -a 'src=本地文件   dest=ansible远程主机文件路径'

    • content:用于替换src,可以直接指定文件的值

    ansible 主机集合 -m copy -a 'content="内容信息 "  dest=目标路径  mode=0644'

      

    6.fetch模块   从远程拷贝文件到本机              //只能拷贝文件,或压缩包

    ansible 主机或主机集合 -m fetch -a "src=远程主机上的文件 dest=本机路径

    force=yes                                    强制复制文件。YES:覆盖,NO:远程主机存在不复制

    backup=yes"                          备份源文件,备份文件包含时间信息

    7.lineinfile模块  : 类似于sed中的s(替换)

    ansible 主机或主机集合  -m lineinfile -a 

    'path=要修改的文件                  "/etc/my.cnf"

    regexp="正则表达式 "                "^binlog_format"

    line="替换的新值 "  '                    "binlog_format=row"

    8.replace模块  修改匹配的字段

    ansible 主机或主机集合 -m replace -a 

    'path=修改文件                           "/etc/my.cnf"

    regexp=正则表达式                    "row"

    replace=替换的新值'                   "mixed"

    9.setup模块 (用于获取主机的信息

    ansible 主机或主机集合 -m setup

    eg:

    ansible webs -m setup -a 'filter= 过滤条件’      filter只能是过滤某个字段的信息,

    ====ansible webs -m setup|grep 过滤条件

    ansible 主机集合  -m setup|grep 过滤条件  --tree    /opt/data                         //将setup的过滤信息保存到文件中,文件名为托管主机IP或域名

                                                                                                                ansible主机上自动创建                                                                                                  

    10.script模块

    帮助我们在远程主机上执行 ansible 管理主机上的脚本,也就是说,脚本一直存在于 ansible 管理主机本地,不需要手动拷贝到远程主机后再执行

    ansible 主机或主机集合 -m script -a '脚本绝对路径'

    11.file模块

    ansible 主机或主机集合 -m file -a 'path=目录或文件路径   state=状态

    recurse:是否递归

    state:

    directory:目录,不存在则创建

    file:文件,不存在也不创建

    link:创建软链接        dest=指定链接的路径

    hard:创建硬链接

    touch:文件不存在的时候,创建一个新的文件

    absent:删除目录、文件或者是取消链接文件

     

    link:创建软连接 ln -s

    ansible 主机集合  -m file -a 'path=目标路径/连接文件名   src=源链接的文件   state=link'

    ansible  wwe   -m  file  -a  'path=/usr/bin/rm  src=/usr/bin/safe-rm  state=link force=yes' -become=true 

               ==ln -s /usr/bin/safe-rm /usr/bin/rm

    force=yes   :强制覆盖

    -become=true :成为root用户执行

  • 相关阅读:
    用struct定义函数
    三、OCTAVE画图
    二、OCTAVE 移动数据
    SQL复习
    Flink处理迟到的数据
    LeetCode题目学习
    CentOS7安装pycharm
    IntelliJ IDEA 刷题利器 LeetCode 插件
    Redis命令学习
    项目杂记
  • 原文地址:https://www.cnblogs.com/krystal-LA-zx/p/13073099.html
Copyright © 2020-2023  润新知