• ansible常用模块整理


    0 command

    默认,直接-a   "ifconfig"
     

    1 shell

    用到变量、管道时
    ansible s21 -m shell -a "echo pwd | passwd --stdin user1"
    此时用command无效
     

    2 script

    将本地脚本复制到远程,并运行
    ansible s21 -m script  -a "/tmp/test.sh"  
     
     

    3 debug

    ansible s21  -m debug -a "msg={{ 'mypassword' | password_hash('sha512', 'mysecretsalt') }}"
     

    4  cron

    state:
       present
       absent
     
     
    ansible s21  -m cron  -a 'minute="*/10" job="/bin/echo hello" name="test cron job" state=present'
     
     
     
     
     
     

    5 user

    5.1 playbook直接设定方式
    ---
      - hosts: s21
        gather_facts: false
        tasks:
        - name: change user passwd
          user: name={{ item.name }} password={{ item.chpass | password_hash('sha512') }}  update_password=always
          with_items:
               - { name: 'u1', chpass: 'abc' }
               - { name: 'u2', chpass: 'bcd' }
    ansible-playbook  user.yml
     
    5.2 playbook传参数方式
    ---
        - hosts: s21
          gather_facts: false
          tasks:
          - name: Change password
            user: name={{ name1 }}  password={{ chpass | password_hash('sha512') }}  update_password=always
    ansible-playbook  user-param.yml  -e "name1=u1 chpass=aaa"
     
     
    5.3 python手动加密
    >>> import crypt
    >>> crypt.crypt('abc')
    '$6$1JV5iq/jgGos6Bwe$yIuouAmby/zljZFmayyVb.rvSaqRihi9oWYj25OsIruhwQqeBhO5Om78pNFOWu1Q1E58mfq1wBZiS0B6x7xMu0'
     
    ansible s21 -m user -a 'name=u1 password=$6$1JV5iq/jgGos6Bwe$yIuouAmby/zljZFmayyVb.rvSaqRihi9oWYj25OsIruhwQqeBhO5Om78pNFOWu1Q1E58mfq1wBZiS0B6x7xMu0 state=present'
     
     
    5.4 shell模式
    ansible s21 -m shell -a "echo pwd | passwd --stdin user1"
     
     

    6 group

    ansible s21 -m group -a 'name=mysql system=yes'
    ansible s21 -m user -a 'name=mysql system=yes group=mysql'  
     
     

    7 copy

    有源拷贝
    ansible s21  -m copy -a "src=user.yml dest=/tmp/ owner=u1 mode=600"
     
    无源创建
    ansible s225 -m copy -a "content='aaa ' dest=/tmp/test/abc"
     
     

    8 file

    权限
    ansible s21 -m file  -a 'owner=mysql group=mysql mode=664 path=/tmp/a.txt'
    软链接
    ansible s225 -m file  -a  'path=/tmp/test/d  src=/tmp/test/abc state=link'  
    等同ln -s abc d
     
     

    9 service

    ansible s21 -m service  -a "name=httpd state=started enabled=true"  
    # started stoped restarted
     
     

    10 yum

    ansible s21 -m yum -a 'name=lrzsz state=present'
    # present latest absent 
    版本号
     

    11 setup 收集信息

    ansible s12 -m setup
     
     

    12 lineinfile

    ansible s225 -m lineinfile -a "path=/tmp/test/abc line=aaa"
    匹配确保一行内容存在,否则添加。
     
    ansible s225 -m lineinfile -a "path=/tmp/test/abc  regexp="^aaa" line=AAA"
    替换,多行匹配仅对最后次。未匹配到时添加
     
    ansible s225 -m lineinfile -a "path=/tmp/test/abc  regexp="^aadfsf" line=ZZZ backrefs=yes"
    未匹配到不添加
     
    ansible s225 -m lineinfile -a "path=/tmp/test/abc  regexp="^aaa" state=absent"  
    删除所有匹配行。 (以便删除重复再添加等操作)
     
     
  • 相关阅读:
    h5页面页面在iphoneX手机上底部会有留白解决办法
    自定义单张图片放大预览功能,可支持手势缩放,依赖jquery
    js事件内部有click事件时,click事件会重复调用解决方法
    h5页面通过阿里云的broswer-js-sdk上传文件
    python字符串前加r、f、u、l 的区别
    Python基础面试题 :计算列表中出现最多次的字符
    python基础入门教程:传参是传值还是传引用
    Python 面试题:输入一个数组,输出该数组的第二大的数字
    Python 7种超实用的数据清洗方法,这你一定要掌握
    python教程:3个非常有用的内置函数(filter/map/reduce)
  • 原文地址:https://www.cnblogs.com/infaaf/p/10074179.html
Copyright © 2020-2023  润新知