004-ansible服务模块
创始人
2024-05-27 10:37:05
0

常用服务模块:

模块功能
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:指定要从归档文件中排除的文件或目录的列表。

相关内容

热门资讯

【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
AsusVivobook无法开... 首先,我们可以尝试重置BIOS(Basic Input/Output System)来解决这个问题。...
ASM贪吃蛇游戏-解决错误的问... 要解决ASM贪吃蛇游戏中的错误问题,你可以按照以下步骤进行:首先,确定错误的具体表现和问题所在。在贪...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...