ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ansible常用模块-2

2021-05-19 18:53:32  阅读:179  来源: 互联网

标签:常用 name dest lineinfile state ansible 模块 line


11. user group

user模块是请求的是useradd, userdel, usermod三个指令
goup模块请求的是groupadd, groupdel, groupmod 三个指令。
home:指定用户的家目录,需要与createhome配合使用
groups:指定用户的属组
uid:指定用的uid
password:指定用户的密码
name:指定用户名
createhome:是否创建家目录 yes|no
system:是否为系统用户
remove:当state=absent时,remove=yes则表示连同家目录一起删除,等价于userdel -r
state:是创建还是删除
shell:指定用户的shell环境
 
添加一个用户,快速添加
ansible jumpserver -m user -a 'name=user01 state=present password=123456 uid=1000 shell=/bin/bash'
      user: name=xiaoqiang  uid=1100  state=present  ##添加
user -a "name=xiaoqiang state=absent remove=yes  ##删除
添加一个用户并指定组
ansible 192.168.56.11 -m group -a 'name=user01 gid=1000 state=present system=yes'


12. mount

配置挂载点选项: 
dump
fstype:必选项,挂载文件的类型 
name:必选项,挂载点    ##挂载到哪里
opts:传递给mount命令的参数
src:必选项,要挂载的文件
state:必选项 
--present:只处理fstab中的配置 
--absent:删除挂载点 
--mounted:自动创建挂载点并挂载之 
--umounted:卸载
例子:
ansible cobbler -m mount -a 'name=/mnt src=/dev/sdb1 fstype=ext4 state=mounted'  ##挂载
ansible cobbler -m mount -a 'name=/mnt  fstype=ext4 state=unmounted' ##卸载


13. raw

ansible shiyan -m raw -a 'hostname | ls'
主要的用途是在command中添加管道符号


14. fetch

参数

必填

默认值

选项

说明

Dest

Yes



用来存放文件的目录,例如存放目录为backup,源文件名称为/etc/profile在主机pythonserver中,那么保存为/backup/pythonserver/etc/profile

Fail_on_missing

No

No

Yes/no

当源文件不存在的时候,标识为失败

Flat

No



允许覆盖默认行为从hostname/path到/file的,如果dest以/结尾,它将使用源文件的基础名称

Src

Yes



在远程拉取的文件,并且必须是一个file,不能是目录

Validate_checksum

No

Yes

Yes/no

当文件fetch之后进行md5检查

- name: get info
  fetch: src=/opt/{{ inventory_hostname }}.txt dest=/home/jiangluqiang/tmp/ flat=yes
{{ inventory_hostname }}:   为host文件的连接ip变量           
dest=/home/jiangluqiang/:   会自动创建目录/不用手动创建   
flat=yes    自定义目录必须为yes


15. lineinfile

- name: Write ipaddr
  lineinfile:
    dest: /etc/sysconfig/network-scripts/ifcfg-eth0
    line: "{{ item.line }}"
    state: present
  with_items:
    - { line: "IPADDR={{ ansible_default_ipv4.netmask }}" }
    - { line: "NETMASK={{ ansible_default_ipv4.address }}" }
    - { line: "GATEWAY={{ ansible_default_ipv4.gateway }}" }
    
    
- hosts: shiyan
  tasks:
  - name: "/tmp/hello.txt"                 
    lineinfile:
      dest: "/tmp/hello.txt"            要修改文件
      regexp: '1111'                    要修改的内容
      line: 'xxx'                       新的内容
      #backup: yes 没有匹配的内容的就追加到最后一行
      backrefs: yes                     
no:表示如果没有匹配到,则增加line;如果匹配成功,则替换line;
        yes:表示如果没有匹配到,则不变line;如果匹配成功,则替换line;
        
        
二、  直接往文件中添加东西
lineinfile: dest=/etc/profile state=present line='export HISTSIZE=0'


三、 支持正则
lineinfile: dest=/etc/resolv.conf regexp='^nameserver' line='nameserver {{ dns_server_host }}'
(1)修改或注释所匹配的行数,比如说禁用selinux
ansible 192.168.56.11 -m lineinfile -a "dest=/etc/selinux/config regexp='^SELINUX=' line='SELINUX=disabled'" 
(2)在匹配的内容前增加一行
ansible 192.168.56.11 -m lineinfile -a "dest=/etc/sysconfig/iptables insertbefore='^COMMIT' line='-A INPUT -p tcp --dport 80 -j ACCEPT'" 
(3)在匹配的内容后增加一行
ansible 192.168.56.11 -m lineinfile -a "dest=/etc/sysconfig/iptables insertafter='^COMMIT' line='-A INPUT -p tcp --dport 81 -j ACCEPT'" 
(4)删除某一行内容
ansible 192.168.56.11 -m lineinfile -a "dest=/etc/sysconfig/iptables state=absent regexp='^-A INPUT -p tcp --dport 81 -j ACCEPT'" 
(5)文件存在就添加一
ansible 192.168.56.11 -m lineinfile -a "dest=/etc/hosts line='192.168.1.1 192_168_1_1'" 
(6)如果匹配到,引用line这一行作为替换。如果没有匹配到,则完全引用line这一行作为添加
ansible 192.168.56.11 -m lineinfile -a "dest=/etc/sudoers state=present regexp='^%wheel' line='%wheel ALL=(ALL) NOPASSWD: ALL'"


标签:常用,name,dest,lineinfile,state,ansible,模块,line
来源: https://blog.51cto.com/u_15196512/2786574

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有