IT袋

当前位置:主页 > 经验教程 > 系统教程 >

Ansible有哪些常用模块

Ansible有哪些常用模块 详细介绍使用方法!(5)

时间:2023-09-17 20:35:04 来源:IT袋 作者:苏晓敏
导读:Ansible有哪些常用模块,# 方法一ansible web -m authorized_key -a "user=root key='{{lookup('file','/root/.ssh/id_rsa.pub')}}' path=/root/.ssh/authorized_keys manage_dir=no"# 方法二、 vim pub_ssh_key.yml---- ho

Ansible有哪些常用模块

# 方法一
ansible web -m authorized_key -a "user=root key='{{lookup('file','/root/.ssh/id_rsa.pub')}}' path=/root/.ssh/authorized_keys manage_dir=no"
# 方法二、
 vim pub_ssh_key.yml
---
- hosts: webs
  remote_user: osmgr
  become: yes
  become_user: root
  become_method: sudo
  tasks:
    - name: deliver authorized_keys
      authorized_key: 
        user: osmgr
        key: "{{ lookup('file', '/home/osmgr/.ssh/id_rsa.pub') }}"
        state: present
ansible-playbook pub_ssh_key.yml

3.15 synchronize 模块

使用rsync模块,系统必须安装rsync包,否则无法使用这个模块

ansible dbsrvs -m shell -a 'yum -y install rsync'
ansible web -m synchronize -a 'src=time.sh dest=/tmp/'

3.16 lineinfile 模块

正则匹配,更改某个关键参数值。比如这里修改SELINUX的值

ansible dbsrvs -a 'cat /etc/selinux/config | grep ^SELINUX=' 
ansible dbsrvs -m shell -a 'cat /etc/selinux/config|grep "^SELINUX="'
10.10.108.30 | CHANGED | rc=0 >>
SELINUX=enforcing
# 通过lineinfifle模块修改SELinux的配置信息,改为disable
ansible dbsrvs -m lineinfile -a "path=/etc/selinux/config regexp='^SELINUX=' line='SELINUX=disabled'"
# 或者是使用ansible-playbook
vim set_selinux_disable.yml
---
- hosts: dbsrvs
  tasks:
  - name: seline modify enforcing
    lineinfile:
      dest: /etc/selinux/config
      regexp: '^SELINUX='
      line: 'SELINUX=enforcing'
# 删除/etc/fstab文件中以#号开头的行
ansible dbsrvs -m lineinfile -a "dest=/etc/fstab state=absent regexp='^#'"

3.17 replace 模块

和 sed 命令比较类似,用于正则匹配和替换

# 查看远端节点的 /etc/fstab 源文件
[root@bunian ansible-example]# ansible dbsrvs -m shell -a "cat /etc/fstab"
10.10.108.30 | CHANGED | rc=0 >>
#
# /etc/fstab
# Created by anaconda on Tue Jul  5 14:09:37 2022
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=c47c20e8-8ed5-4d86-9209-f0e8876bb9e6 /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
# 使用replace模块
[root@bunian ansible-example]# ansible dbsrvs -m replace -a "path=/etc/fstab regexp=^(UUID.*) replace='#\1'"
10.10.108.30 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "msg": "1 replacements made"
}
# 查看结果
[root@bunian ansible-example]# ansible dbsrvs -m shell -a "cat /etc/fstab"
10.10.108.30 | CHANGED | rc=0 >>
#
# /etc/fstab
# Created by anaconda on Tue Jul  5 14:09:37 2022
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
#UUID=c47c20e8-8ed5-4d86-9209-f0e8876bb9e6 /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
# 将注释的UUID信息恢复
ansible dbsrvs -m replace -a "path=/etc/fstab regexp='^#(.*)' replace='\1'"
[root@bunian ansible-example]# ansible dbsrvs -m shell -a "cat /etc/fstab"
10.10.108.30 | CHANGED | rc=0 >>
 /etc/fstab
 Created by anaconda on Tue Jul  5 14:09:37 2022
 Accessible filesystems, by reference, are maintained under '/dev/disk'
 See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=c47c20e8-8ed5-4d86-9209-f0e8876bb9e6 /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0

参数说明:

  • \1:表示引用前面的小括号内容

上述就是Ansible有哪些常用模块 跟 详细介绍使用方法的全面知识讲解,IT袋网网小编希望能帮到您。

相关阅读