ansible系列第二篇

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

模块使用

设置ansible提权

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

执行:

查看ansible有那些模块:

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

ping模块:

从受控主机拉取文件:

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

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

文件操作模块

copy模块

常用参数

src参数: copy文件或目录。

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

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

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

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

mode参数: 文件权限。

owner参数: 文件属主。

group参数: 文件属组。

file模块

常用参数:

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

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

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模块类似。

系统类模块

cron模块

管理被控机的计划任务。

参数:

minute: 设定分钟。

hours: 设定小时。

day: 设定天数

month: 设定月

weekday: 设定周几

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

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

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

name: 设置计划任务名称。

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

service模块

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

参数:

name: 服务名称

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

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

user模块:

管理被控机的用户。

group模块:

管理被控机的组。

包管理模块:

yum_repository模块

管理被控机为centos系列的yum仓库。

yum模块:

在被控机为centos系列通过yum源管理软件包。

apt模块:

在被控机为debian系列通过apt源管理软件包

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181207G09Z1Z00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券