004-ansible服务模块

常用服务模块:

模块功能
copy拷贝文件到被控端
cron定时任务
fetch拷贝被控端文件到本地
file文件模块
group用户组模块
user用户模块
hostname主机名模块
script脚本模块
service/systemd服务启动模块
command远程执行命令模块
shell远程执行命令模块,command高级用法
yum安装包组模块
setup查看主机系统信息

一、常用模块参数详解

1、copy–拷贝文件到被控端

  • src:指定要复制的源文件路径。可以是绝对路径或相对路径。如果是相对路径,则相对于playbook文件的位置。
  • dest:指定目标文件的路径。可以是绝对路径或相对路径。如果是相对路径,则相对于目标主机的工作目录。
  • backup:指定是否在复制文件之前备份目标文件。可以是yes或no。默认值为no。
  • force:指定是否强制覆盖目标文件。可以是yes或no。默认值为no。
  • mode:指定目标文件的权限模式。可以是字符串(如"0644")或整数(如644)。
  • owner:指定目标文件的所有者。可以是用户名或用户ID(UID)。
  • group:指定目标文件的所属组。可以是组名或组ID(GID)。
  • validate:指定在复制文件之前验证源文件的哈希值。可以是哈希值字符串或文件路径。
  • follow:指定是否跟随源文件的符号链接。可以是yes或no。默认值为no。
  • remote_src:指定源文件是否位于目标主机上。可以是yes或no。默认值为no。
  • content:指定要复制的文件内容。可以是字符串或字典。

2、cron–定时任务

  • name:指定任务的名称。
  • minute:指定任务应在哪些分钟运行。可以是整数、星号(*)或逗号分隔的值。
  • hour:指定任务应在哪些小时运行。可以是整数、星号(*)或逗号分隔的值。
  • day:指定任务应在哪些日运行。可以是整数、星号(*)或逗号分隔的值。
  • month:指定任务应在哪些月运行。可以是整数、星号(*)或逗号分隔的值。
  • weekday:指定任务应在哪些星期几运行。可以是整数(0表示星期日)、星号(*)或逗号分隔的值。
  • user:指定应该运行任务的用户。如果省略,则任务将在当前用户的crontab中运行。
  • job:指定要运行的命令。可以是命令字符串或列表。
  • state:指定任务应该是"present"(存在)还是"absent"(不存在)。如果任务不存在,将创建它。
  • cron_file:指定crontab文件的位置。默认情况下,cron模块将任务添加到用户的crontab中,但您可以使用该参数指定其他crontab文件的位置。

3、fetch–拷贝被控端文件到本地

  • name:指定任务的名称。
  • minute:指定任务应在哪些分钟运行。可以是整数、星号(*)或逗号分隔的值。
  • hour:指定任务应在哪些小时运行。可以是整数、星号(*)或逗号分隔的值。
  • day:指定任务应在哪些日运行。可以是整数、星号(*)或逗号分隔的值。
  • month:指定任务应在哪些月运行。可以是整数、星号(*)或逗号分隔的值。
  • weekday:指定任务应在哪些星期几运行。可以是整数(0表示星期日)、星号(*)或逗号分隔的值。
  • user:指定应该运行任务的用户。如果省略,则任务将在当前用户的crontab中运行。
  • job:指定要运行的命令。可以是命令字符串或列表。
  • state:指定任务应该是"present"(存在)还是"absent"(不存在)。如果任务不存在,将创建它。
  • cron_file:指定crontab文件的位置。默认情况下,cron模块将任务添加到用户的crontab中,但您可以使用该参数指定其他crontab文件的位置。

4、file–文件模块(用于从远程主机复制文件到控制节点)

  • src:指定要从远程主机复制的源文件路径。可以是绝对路径或相对路径。如果是相对路径,则相对于远程主机的工作目录。
  • dest:指定目标文件的路径。可以是绝对路径或相对路径。如果是相对路径,则相对于控制节点的工作目录。
  • flat:指定是否将源文件复制到目标路径中的最高层级目录。可以是yes或no。默认值为no。
  • validate:指定在复制文件之后验证目标文件的哈希值。可以是哈希值字符串或文件路径。
  • backup:指定是否在复制文件之前备份目标文件。可以是yes或no。默认值为no。
  • force:指定是否强制覆盖目标文件。可以是yes或no。默认值为no。
  • mode:指定目标文件的权限模式。可以是字符串(如"0644")或整数(如644)。
  • owner:指定目标文件的所有者。可以是用户名或用户ID(UID)。
  • group:指定目标文件的所属组。可以是组名或组ID(GID)。
  • selevel:指定目标文件的SELinux安全级别。
  • serole:指定目标文件的SELinux安全角色。
  • setype:指定目标文件的SELinux类型。
  • seuser:指定目标文件的SELinux用户

5、group–用户组模块(用于管理组)

  • name:指定组的名称。
  • gid:指定组的GID。如果未指定,Ansible将为该组自动分配一个GID。
  • state:指定组应该是"present"(存在)还是"absent"(不存在)。如果组不存在,将创建它。
  • system:指定组是否应该是系统组。可以是yes或no。默认值为no。
  • members:指定属于该组的用户列表。可以是用户名称或用户ID(UID)。
  • append:指定是否将用户添加到组的现有成员列表中。可以是yes或no。默认值为no。

6、user–用户模块(用于管理用户)

  • name:指定用户的名称。
  • comment:指定用户的注释。
  • uid:指定用户的UID。如果未指定,Ansible将为该用户自动分配一个UID。
  • group:指定用户所属的组。可以是组名称或组ID(GID)。
  • groups:指定用户所属的其他组。可以是组名称或组ID(GID)的列表。
  • home:指定用户的主目录路径。
  • shell:指定用户的默认shell。
  • password:指定用户的密码。可以是明文密码或加密密码。
  • generate_ssh_key:指定是否为该用户生成SSH密钥对。可以是yes或no。默认值为no。
  • ssh_key_bits:指定生成的SSH密钥位数。默认值为2048。
  • state:指定用户应该是"present"(存在)还是"absent"(不存在)。如果用户不存在,将创建它。
  • create_home:指定是否为用户创建主目录。可以是yes或no。默认值为yes。

7、hostname–主机名模块(用于设置主机名)

  • name:指定要设置的主机名。
  • state:指定主机名应该是"present"(存在)还是"absent"(不存在)。如果主机名不存在,将创建它。
  • update_hostname:指定是否将主机名写入/etc/hostname文件中。可以是yes或no。默认值为yes。
  • update_etc_hosts:指定是否将主机名和IP地址写入/etc/hosts文件中。可以是yes或no。默认值为yes。
  • remove_from_etc_hosts:指定是否从/etc/hosts文件中删除旧主机名和IP地址。可以是yes或no。默认值为no。
  • set_static_hostname:指定是否将主机名写入/etc/hostname文件和/etc/machine-info文件中。可以是yes或no。默认值为no。

8、script–脚本模块(用于在远程主机上运行本地脚本)

  • chdir:指定运行脚本时要更改到的目录。默认值为远程主机的主目录。
  • creates:指定要检查的文件路径。如果该文件存在,将不会运行脚本。可以是文件路径或目录路径。
  • executable:指定要在远程主机上运行的脚本文件的名称。
  • free_form:指定要在远程主机上运行的命令字符串。这个参数和script参数不能同时使用。
  • removes:指定要删除的文件路径。如果该文件存在,将在运行脚本之前删除它。
  • script:指定要在远程主机上运行的脚本文件的路径。这个参数和free_form参数不能同时使用。
  • stdin:将标准输入传递给远程主机的脚本。
  • strip_empty_ends:指定是否删除输出中的空行。可以是yes或no。默认值为yes。
  • warn:指定是否在脚本执行时打印警告信息。可以是yes或no。默认值为yes。

9、systemd/service/upstart–服务启动模块(用于在远程主机上管理系统服务)

  • name:指定要管理的服务的名称。
  • state:指定服务应该是"started"(启动)还是"stopped"(停止)。
  • enabled:指定服务是否应该在系统启动时自动启动。可以是yes或no。
  • daemon_reload:在启用或禁用服务时,是否应该运行systemd的daemon-reload命令。可以是yes或no。默认值为no。
  • pattern:指定用于查找进程的模式。可以是正则表达式或通配符。
  • sleep:在重新启动服务之前等待的秒数。默认值为0。
  • arguments:指定传递给服务的附加参数。
  • force:在停止服务时,是否强制终止进程。可以是yes或no。默认值为no。

10、command–远程执行命令模块(用于在远程主机上运行命令)

  • chdir:指定运行命令时要更改到的目录。默认值为远程主机的主目录。
  • creates:指定要检查的文件路径。如果该文件存在,将不会运行命令。可以是文件路径或目录路径。
  • free_form:指定要在远程主机上运行的命令字符串。
  • removes:指定要删除的文件路径。如果该文件存在,将在运行命令之前删除它。
  • stdin:将标准输入传递给远程主机的命令。
  • warn:指定是否在命令执行时打印警告信息。可以是yes或no。默认值为yes。

注意,command模块不会自动在远程主机上使用shell,因此您需要在命令中包含任何必需的shell元素

11、shell–远程执行命令模块,command高级用法

  • chdir:指定运行命令时要更改到的目录。默认值为远程主机的主目录。
  • creates:指定要检查的文件路径。如果该文件存在,将不会运行命令。可以是文件路径或目录路径。
  • executable:指定要在远程主机上使用的shell程序。默认值为"/bin/sh"。
  • free_form:指定要在远程主机上运行的shell命令字符串。
  • removes:指定要删除的文件路径。如果该文件存在,将在运行命令之前删除它。
  • stdin:将标准输入传递给远程主机的shell命令。
  • warn:指定是否在命令执行时打印警告信息。可以是yes或no。默认值为yes。
    ** command模块不同,shell模块将自动在远程主机上使用shell,因此您无需在命令中包含shell元素**

12、yum/apt/dnf–安装包组模块

  • name:指定要安装或卸载的软件包名称,也可以是逗号分隔的多个软件包名称。
  • state:指定软件包的状态。可以是present(安装软件包)、absent(卸载软件包)、latest(安装最新版本)等。
  • enablerepo:指定要启用的仓库。可以是仓库名称、通配符、逗号分隔的多个仓库等。
  • disablerepo:指定要禁用的仓库。可以是仓库名称、通配符、逗号分隔的多个仓库等。
  • installroot:指定要安装软件包的根目录。可以是绝对路径或相对路径。
  • disable_gpg_check:指定是否禁用软件包的GPG检查。默认值为false。
  • exclude:指定要排除的软件包。可以是软件包名称、通配符、逗号分隔的多个软件包等。
  • update_cache:指定是否在安装软件包之前更新缓存。默认值为true。
  • validate_certs:指定是否验证SSL证书。默认值为true。

13、setup–查看主机系统信息(setup模块将自动在远程主机上收集系统信息和环境变量)

  • fact_path:指定要存储收集的事实(facts)的路径。默认值为"/etc/ansible/facts.d".
  • filter:指定要过滤的事实名称。可以是一个字符串或一个列表。
  • gather_subset:指定要收集的主机信息的子集。可以是一个字符串或一个列表。默认情况下,收集所有可用的信息。
  • gather_timeout:指定收集信息的超时时间。默认值为10秒。
  • cache_valid_time:指定收集的信息的缓存有效时间。默认情况下,信息缓存有效期为0秒,意味着每次收集信息时都会重新获取。

14、unarchive–提取压缩包文件(用于从归档文件(如.tar,.gz,.zip)中提取文件)

  1. src:指定要解压缩的归档文件的路径。这个参数是必需的。
  2. dest:指定将文件提取到的目标目录的路径。如果未指定该参数,则默认解压缩文件到当前目录。
  3. remote_src:如果设置为True,则从远程主机中复制归档文件到本地进行解压缩。默认为False。
  4. format:指定归档文件的格式。如果未指定该参数,则会自动检测格式。支持的格式包括“zip”、“tar”、“gztar”和“bztar”。
  5. exclude:指定要从归档文件中排除的文件或目录的列表。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值