ansible系列第二篇(模块使用)(代码片段)

author author     2023-01-31     522

关键词:

ansible系列第二篇(模块使用)

  • 模块使用

    • 设置ansible提权

    在hosts文件加入sudo提权的密码:

    18.18.23.102  ansible_become_pass=‘passwd‘

    执行: ansible test -S -R root -m shell -a "ls -l /"

    • 查看ansible有那些模块:

    ansible-doc -l

    • 获取各个模块详细帮助信息

      ansible-doc -s ping

    • ping模块:

    ansible test -m ping

    • 从受控主机拉取文件:

    调用模块并传入模块所需要的参数

    ansible test -m fetch -a "src=/etc/passwd dest=/automation/matchine"

    ansible会自动在管控端创建各个主机对应的目录。

  • 文件操作模块

    查看模块的帮助方式: ansible-doc -s modulename

    • copy模块

    • 常用参数

      src参数: copy文件或目录。

      dest参数: 指定文件被拷贝到远程主机的哪个目录中。

      content参数: 使用content直接指定文件内容。

      force参数: 默认值yes,覆盖。为no时,不执行覆盖操作。

      backup参数: yes,先备份,再拷贝文件到远程主机。

      mode参数: 文件权限。

      owner参数: 文件属主。

      group参数: 文件属组。

    • file模块

    • 常用参数:

      path参数: 指定文件或目录。

      state参数: absent,删除文件或目录。touch文件,link创建软链接文件。

      recurse参数: yes时可递归修改目录中文件的属性。

    例如:
      创建test.txt文件:
       ansible test -m file -a "path=/home/yuan/test.txt state=touch"
       ansible test -S -R root -m file -a "path=/opt/abc.txt state=touch"
      删除test.txt文件:
       ansible test -m file -a "path=/home/yuan/test.txt state=absent"
       ansible test -S -R root -m file -a "path=/opt/abc.txt state=absent"
      创建目录hello:
       ansible test -m file -a "path=/home/yuan/hello state=directory" 
    
      创建软链接文件:
      软链接名为go,
      ansible test -m file "path=/home/yuan/bin/linkfile state=link src=/home/yuan/services/go/bin/gofile"
    
      递归创建目录并递归修改属主和属组:
       ansible test -S -R root -m file -a "path=/abc/test/aaa state=directory owner=yuan group=yuan recurse=yes"
    • blockinfile模块

    在指定文件插入文本.

    • 常用参数:

      path:文件路径

      block: 指定文本

      state: 执行插入,更新,删除操作。

      backup: 是否在修改文件之前对文件进行备份。

      create: 文件不存在,是否创建文件。

    • lineinfile模块

    查看一行文本是否存在于指定文件中或从文件中删除指定文本。

    • find模块:

    在被控机查找符合条件的文件。

    • 常用参数:

      paths: 在哪个目录查找。

      recurse: 递归查找。

      hidden: yes时可查找隐藏文件。

      file_type: 指定文件类型。

      patterns:通配符或正则表达式匹配文件。

      contains: 根据文章内容查找文件。

      age: 根据时间范围查找文件。

      size: 根据文件大小查找文件。

    • replace模块:

    根据指定的正则表达式替换文件中的字符串。

  • 命令行模块:

    • command模块:

    在被控机上执行命令。

    • 参数:

      free_form:指定远程执行命令

      chdir: 指定一个目录。

      creates: 指定文件存在就不执行。

      removes: 指定文件不存在,就不执行对应命令。

    • shell模块

    在被控机执行命令时,会经过被控机的/bin/sh程序处理。

    • script模块

    在被控机上执行管控机上的脚本。

    参数和command模块类似。

    例如: $ ansible test -m script -a "/home/yuan/abc.sh"

  • 系统类模块

    • cron模块

    管理被控机的计划任务。

    • 参数:

      minute: 设定分钟。

      hours: 设定小时。

      day: 设定天数

      month: 设定月

      weekday: 设定周几

      special_time: @开头的时间设定格式使用该参数设置。可用值:reboot,yearly或annually(每年),monthly(每月),weekly(每周),daily(每天),hourly(每小时).

      user: 设置计划任务属于哪个用户。

      job: 指定任务中需要执行的命令或脚本。

      name: 设置计划任务名称。

      state: 根据任务名称修改或删除任务。

    例如:
      给普通用户设置计划任务:
       ansible test -m cron -a "name=‘echo‘ minute=1 hour=* job=‘echo xiao3 >> /home/yuan/abc.txt‘"
      配置重启时执行该计划任务:
       ansible test -S -R root -m cron -a "name=‘reboot‘ special_time=reboot job=‘echo reboot xiao3 >> /home/yuan/abc.txt‘"
      删除计划任务:
       ansible test -S -R root -m cron -a "name=‘reboot‘ state=absent"
    • service模块

    管理被控机的服务。service模块和systemd模块类似。

    • 参数:

      name: 服务名称

      state: 指定服务的状态。started,stopped,restarted,reloaded.

      enabled: 指定是否将服务设置为开机自启。

      例如:
      启动mysql服务:
      ansible test -S -R root -m systemd -a "name=mysql state=started
      设置开机自启:
      ansible test -S -R root -m systemd -a "name=mysql enabled=yes"
    • user模块:
      管理被控机的用户。
    • group模块:
      管理被控机的组。
  • 包管理模块:

    • yum_repository模块
      管理被控机为centos系列的yum仓库。
    • yum模块:
      在被控机为centos系列通过yum源管理软件包。
    • apt模块:
      在被控机为debian系列通过apt源管理软件包
      例如:
      安装tree命令:
      ansible test -S -R root -m apt -a "name=tree state=latest update_cache=yes"

      微信公众号: 技术分享图片

    欢迎各位大佬投稿和关注,非常感谢,如对文章内容有什么意见,也可以多多指出。

详解ansible服务常用命令模块(代码片段)

ansible可以使用命令行方式进行自动化管理,基本语法如下:ansible主机名-m模块名称-a模块特有参数ansible的命令行管理工具都是由一系列模块、参数所支持的,可以在命令后面加上-h或--help获取帮助。如使用ansible-doc-h或者ansible-doc... 查看详情

ansible常用模块详解(代码片段)

Ansible可以使用命令行方式进行自动化管理,且ansible的命令行管理工具都是由一系列模块、参数支持的,我们可以通过ansible-doc工具查看模块帮助信息。本篇博文将详细讲述ansible模块功能及操作。Ansible命令参数:-v:输出详细信... 查看详情

ansible系列(安装和使用)(代码片段)

ansible的安装和使用介绍:ansible是一个自动化运维工具,通过SSH协议管理服务器,基于模块来完成自动化任务,ansible完成批量性任务,自动部署各种服务和环境.安装使用python3的pip工具安装:pip3installansible开始使用:管理的前提条件:管控... 查看详情

pytorch学习系列文章第二篇——张量(代码片段)

文章目录1.张量的初始化(1)直接生成张量(2)通过Numpy数组来生成张量(3)通过已有的张量来生成新的张量(4)通过指定数据维度来生成张量2.张量属性3.张量运算(1)将运算移植到GPU中... 查看详情

empire4.2使用-第二篇-模块使用(信息收集权限提升内网探测)(代码片段)

文章目录连接主机&利用信息收集权限提升内网探测主机发现端口扫描其他信息收集连接主机&利用在目标主机反弹成功以后,可以通过agents命令列出当前已连接的主机,这里要注意带有(*)的是已提权成功的主机然后... 查看详情

深入理解定时器系列第二篇——被誉为神器的requestanimationframe(代码片段)

前面的话  与setTimeout和setInterval不同,requestAnimationFrame不需要设置时间间隔。这有什么好处呢?为什么requestAnimationFrame被称为神器呢?本文将详细介绍HTML5新增的定时器requestAnimationFrame 引入  计时器一直是javascript动画的... 查看详情

opencv入门指南第二篇缩放图像(代码片段)

...绍几个关键函数——cvResize和cvCreateImage《OpenCV入门指南》系列文章地址:http://blog.csdn.net/morewindows/article/category/129176 查看详情

数据结构系列第二篇——循环不变式(代码片段)

一、循环不变式定义在for循环(循环变量为i,从1开始)的每次迭代开始,包含元素A[0,..,j-1]长度为j的子数组构成了已经排好序的一个排列。现在循环开始就要处理一个新的元素,怎么处理不管,反正我们... 查看详情

c++从入门到入土第二篇:类和对象基础(代码片段)

系列文章目录【C++从入门到入土】第一篇:从C到C++.文章目录系列文章目录前言一、类和对象的基本概念结构化程序设计面向对象的程序设计使用类的成员变量和成员函数二、类和对象基础类成员的可访问范围构... 查看详情

[转帖]虚拟内存探究--第二篇:python字节(代码片段)

...   翻译 虚拟内存  翻译这是虚拟内存系列文章的第二篇。这次我们要做的事情和《虚拟内存探究–第一篇:Cstrings&/proc》类似,不同的是 查看详情

剑指offer系列刷题第二篇——从尾到头打印链表和反转链表(代码片段)

❤️《剑指offer》系列刷题——第二篇❤️今天给大家介绍两道题目,一道是打印单链表,另一道是反转链表,题目来源与牛客网的《剑指offer》,大家可以点击下方链接去牛客网测试一下自己的代码:题1࿱... 查看详情

linux从青铜到王者第十二篇:linux进程间信号第二篇(代码片段)

系列文章目录文章目录系列文章目录前言一、阻塞信号1.信号其他相关常见概念2.在内核中的表示3.sigset_t信号集4.信号集操作函数5.sigprocmask函数6.sigpending函数二、捕捉信号1.内核实现信号的捕捉2.volatile关键字总结前言一、阻塞信... 查看详情

ansible学习系列2-ansible常用模块使用

1.查看支持的模块[[email protected]~]#ansible-doc-l这里我们看下ansible的支持的模块个数[[email protected]~]#ansible-doc-l|wc-l#查看支持的模块个数1039[[email protected]~]#ansible--version#查看我们的ansible版本号ansible2.3.1.0c 查看详情

matlab高级教程_第二篇:matlab相见恨晚的模块_02_并行运算-利用gpu并行执行matlab程序(代码片段)

1  MATLAB原文:  如果所有你想使用的函数支持GPU,你能够使用gpuArray把输入的数据传输到GPU,也能够唤起gather命令把传输值GPU的数据回收。2  通过gpuDevice命令观察当前电脑的GPU设备>>gpuDeviceans=CUDADevice(具有属性):Name:... 查看详情

ansible小手册系列十(包含和角色)(代码片段)

一、包含(include)使用include模块来包含foo文件tasks:-include:foo.yml---foo.yml-name:testfoocommand:echofoo  include还允许传递变量-include:wordpress.ymlwp_user=timmy-include:wordpress.ymlvars:wp_user:timmyssh_keys:-keys/on 查看详情

26.ansible连接和基本模块(代码片段)

Ansible介绍自动化运维工具,统一配置管理工具。可以通过一个命令完成一系列的操作,进而能减少重复性的工作和维护成本,可以提高工作效率。统一配置管理工具:Ansible 开发语言:Python轻量级,大规模环境下只通过ssh会很... 查看详情

ansible环境搭建(常用模块使用)(代码片段)

文章目录ansible1.ansible是什么2.ansible环境搭建3.服务器分组4.ansible模块1)hostname模块2)file模块*3)copy模块*3)stat模块stat模块类似linux的stat命令,用于获取文件的状态信息。4)template模块5)fetch模块6)user模块7)group... 查看详情

ansible环境搭建(常用模块使用)(代码片段)

文章目录ansible1.ansible是什么2.ansible环境搭建3.服务器分组4.ansible模块1)hostname模块2)file模块*3)copy模块*3)stat模块stat模块类似linux的stat命令,用于获取文件的状态信息。4)template模块5)fetch模块6)user模块7)group... 查看详情