Ansible-基础模块

  • file模块;

    • file 模块用于对文件相关的操作(创建、删除、软硬链接)
    • 参数;

      • path:要操作的文件路径
      • state:状态选项,用于指定希望文件处于的状态

        • touch:创建文件
        • directory:创建文件夹
        • link:创建软连接文件
        • hard:创建硬链接文件
      • mode:指定文件权限
      • owner:指定文件所有者
      • group:指定文件所属用户组
    • 列:
      • 向所有客户机的/tmp目录下创建demo01.txt文件
        • ansible all -m file -a "path=/tmp/demon01.txt state=touch mode=777 owner=ftp group=daemon"
  • copy模块:

    • ansible的copy模块是用于将文件从管理机复制到客户机。
    • 也可以用来创建目录、设置文件权限或者修改文件的属主和属组
      • 参数:

        • src:指定管理机的文件路径 必须
        • dest:指定客户机的文件路径
        • backup:覆盖文件之前,先将源文件进行备份
        • remote_src:指定true是,表示src参数引用的文件位于目标主机上
        • content:指定在目标主机上创建文件所包含的内容,可以是文本内容,可以是二进制数据的base64编码
        • force:覆盖写入yes,不覆盖no
        • owner:所属用户
        • group:所属组
        • mode:指定文件的权限模式
  • fetch模块:

    • 用于从客户机上复制文件到管理机,但不能复制目录到管理机,比如可以对日志集中化管理

      • 列:ansible all -m fetch -a "src=/data/test02.txt dest=/root/ flat=no"
      • src:客户端源文件
      • dest:管理端目录
      • flat:yes或no,默认为no,如果为no的话 复制过来的文件将会带有在客户机的绝对路径,也就是说,会生成一个以客户机IP命名的文件夹
  • get_url模块:

    • 用户从远程地址下载文件到客户机

      • url:网址路径
      • dest:客户机目录路径
      • force : 如果yes,dest不是目录,将每次下载文件,如果内容改变,替换文件。如果否,则只有在目标不存在时才会下载该文件。
  • unarchive模块:

    • 用于解压缩文件到管理机或客户机

      • 参数:

        • remote_src:如果为yes,则表示要解压缩的文件位于客户机上,如果设置为no,则表示位于管理机上
        • src:指定要解压缩的文件路径
        • dest:指定解压缩后的文件路径(客户机)
        • create:指定一个文件,如果该文件已经存在,就不会再次解压文件。这可以用来判断压缩文件是否已经解压过。
        • extra_opts:允许附加任何额外的选项到压缩和解压缩命令中
        • copy:如果设置为 yes,将在客户机上创建一个彻底的新的文件;如果设置为 no,只有目标文件夹的内容将会改变
      • 列:
        • ansible all -m unarchive -a "src=/root/nginx-1.4.7.tar.gz dest=/root remote_src=yes"
  • yum模块:

    • 用于在客户机上执行于yum软件包管理器相关的操作的模块。
    • 用于安装、升级、删除和管理系统上的软件包

      • name:服务名称\软件包名
      • state:要执行什么操作,latest:安装,absent:卸载
    • 列:
      • ansible all -m yum -a "name=httpd state=latest"
  • setup模块:

    • ansible的setup模块用于收集有关远程主机的信息,包括硬件,操作系统,网络以及其他系统属性
    • ansible all -m setup -a "filter=discovered_interpreter_python gather_subset=network"
  • command模块

    • ansible 的command模块可以用来在远程主机上执行特定的命令。
    • 这个模块可以用于临时任务,但通常建议使用更适合复杂任务和自动化模块和Playbook

      • 1.用于在远程主机上执行单个命令
      • 2.不会调用系统的shell,因此无法使用通配符、重定向、管道等shell功能
      • 3.返回的结果是命令的标准输出
      • 4.适用于执行简单的命令
        • ansible all -a command "ifconfig"
  • shell模块:

    • 允许在远程主机上执行特定的命令,提供了更多的灵活性和功能,相比command模块。
    • 适用于执行复杂的命令和脚本
    • ansible all -m shell -a "ifconfig | grep -A 1 ens33"
  • scripts模块:

    • 用于在远程主机上执行本地脚本文件。这个脚本可以是bash、python或任何其他可执行脚本。当需要在远程主机上运行特定的脚本时,可以使用script模块。
    • 特点:

      • 用于在远程主机上执行本地脚本文件。
      • 会将本地的脚本文件传输到远程主机上执行,并将执行结果返回给控制节点。
      • 如果需要在远程主机上执行特定的本地脚本时,可以使用script模块。
      • 便于在远程主机上执行本地脚本文件,省去了手动传输脚本文件的步骤。
    • ansible all -m script -a "./test.sh"
  • group模块:

    • ansible中的group模块用于管理组的配置,组指的是在/etc/group文件中定义的用户组
    • 参数:

      • name:要操作的组名称
      • state:表示组的状态:

        • present:创建
        • absent:删除
      • system:指定是否是系统组
    • ansible all -m group -a "name=mygroup state=present"
  • user模块

    • 用于管理用户账户的配置,通过user模块,可以创建、删除、管理用户账户的属性。
    • 参数:

      • name:用户名称
      • state:present(创建)

        • absent(删除)
        • lock(锁定)
        • unlock(解锁)
      • uid:用户ID
      • group:所属组
      • password:密码
      • home:家目录
      • shell:默认shell
    • ansible all -m user -a "name=myuser group=mygroup state=present"
  • cron模块:

    • ansible的cron模块是用来管理和配置cron作业的模块,让客户机在预定的时间执行特定的命令或脚本
    • ansible all -m cron -a "name=mytest minute=*/5 job='/root/test.sh' state=present"
      • 参数:

        • minute:设置计划任务中分钟设定位的值,默认为""。
        • job:指定计划的任务中需要实际执行的命令或者脚本。
        • state:当计划任务有名称时,修改或删除对应的任务,当删除计划任务时,需要将 state 的值设置为 absent。
相关推荐
悟空空心18 小时前
服务器长ping,traceroute
linux·服务器·网络·ssh·ip·ping++
此生只爱蛋18 小时前
【Linux】正/反向代理
linux·运维·服务器
qq_54702617918 小时前
Linux 基础
linux·运维·arm开发
zfj32118 小时前
sshd除了远程shell外还有哪些功能
linux·ssh·sftp·shell
废春啊18 小时前
前端工程化
运维·服务器·前端
我只会发热19 小时前
Ubuntu 20.04.6 根目录扩容(图文详解)
linux·运维·ubuntu
爱潜水的小L19 小时前
自学嵌入式day34,ipc进程间通信
linux·运维·服务器
保持低旋律节奏19 小时前
linux——进程状态
android·linux·php
zhuzewennamoamtf19 小时前
Linux I2C设备驱动
linux·运维·服务器
zhixingheyi_tian19 小时前
Linux 之 memory 碎片
linux