网站架构知识之Ansible模块(day021)

news/2024/11/8 16:55:01/

1.Ansible模块

作用:通过ansible模块实现批量管理

2.command模块与shell模块

command模块是ansible默认的模块,适用于执行简单的命令,不支持特殊符号

案列01,批量获取主机名

ansible all -m command -a 'hostname'

all表示对主机清单所有组进行操作,-m  command表示使用command模块(默认是此模块),-a指定模块中的选项。

shell模块相比command可以识别特殊符号

案列02,删除/tmp目录下的所有文件

ansible all -m shell -a 'rm -rf   /tmp/*'

3.script模块

执行流程:分发脚本,在被管理端执行脚本

案例03,被管理端执行指定目录下的脚本

ansible all -m script -a '/server/scripts/ansible-scripts.sh'

4.file模块

管理文件,目录,软链接

相关选项

path        路径(目录,文件)(必须要写)

state        state=directory        创建目录

                state=file                 默认,更新文件,文件不存在也不创建

                state=link                创建软连接

                state=touch             创建文件

                state=absent           删除

mode       mode=755              创建并修改权限

owner       owner=root

group        group=root

案例03:所有被管理端的/tmp目录下创建day021.txt

ansible all -m file -a 'path=/tmp/day021.txt state=touch'

案例04:将/tmp目录下的day021.txt新建软连接到tmpls目录中

ansible all -m file -a 'src=/tmp/day021.txt path=/tmpls/day021.txt state=link'                     

5.copy模块

相关选项

src          管理端源文件

dest        被管理端目录/文件

backup    backup=yes,会在覆盖前备份

mode       修改权限

owner        修改为指定所有者

group        修改为指定用户组

案例05:将管理端hosts文件发送给被管理端/tmp/day021/的目录下

ansible all -m copy -a 'src=/etc/hosts dest=/tmp/day021/'

5.systemd模块

name         用于指定服务名称

enabled     yes开机自启动

state           started        开启

                   stopped      关闭

                   reloaded      重载

                   restarted      重启

daemon-reload        yes是否重新加载对应服务的管理配置文件

6.yum模块

包含了yum和apt

name                 指定软件包名字

state                  installed安装

                          removed删除

                          lastest安装或更新

update_cache   更新本地yum缓存

7.get_url模块

url                       指定要下载的地址

dest                    下载到哪一个目录

后续可以调用yum模块安装本地的软件 name=/app/tools/xxxxx.rpm即可

8.user模块

name                      用户名

uid                          指定uid

group                     指定用户组

shell                       指定解释器

crete_home          (yes/no)是否创建用户家目录

state                       present(添加)absent(删除)

password                加密的密码

更新密码

ansible all  -m user -a "name=用户名 password={{ '新密码' | password_hash('sha512', '加密字符串') }} state=present"

9.mount模块

实现mount命令进行挂载,同时修改/etc/fstab进行永久挂载

fstype        指定文件系统

src             源地址(挂载nfs,eg  172.16.1.31:/data)

path           挂载点

state         mounted,挂载并修改fstab        

                 absent,卸载并修改fstab

                 unmounted,卸载但不修改fstab

                 present,仅修改fstab,不挂载

10.cron模块

-name        定时任务名字,对应注释内容

minute        分钟  minute="*/2"

hour            默认*

day

month

week

job              脚本位置

state           present(添加),absent(删除)

将时间同步写到定时任务,每五分钟同步一次

ansible all -m cron -a 'name=sync_time minute="*/5" job="/usr/sbin/ntpdate ntp1.aliyun.com &>/dev/null" state=present'

结果


http://www.ppmy.cn/news/1545406.html

相关文章

ArcGIS地理空间平台 manager 任意文件读取漏洞复现

0x01 产品描述: ‌ ArcGIS‌是一个综合的地理空间平台,由Esri开发,旨在为专业人士和组织提供全面的地理信息系统(GIS)功能。ArcGIS通过集成和连接地理环境中的数据,支持创建、管理、分析、映射和共享…

鸿萌数据迁移服务: 企业服务器整机在线热迁移, 实现不停机业务转移

天津鸿萌科贸发展有限公司从事数据安全服务二十余年,致力于为各领域客户提供专业的数据存储、数据恢复、数据备份、数据迁移等解决方案与服务,并针对企业面临的数据安全风险,提供专业的相关数据安全培训。 鸿萌数据迁移业务为众多企业顺利高效…

【UGUI】实现点击注册按钮跳转游戏场景

1. 代码实现 首先,我们需要编写一个脚本来管理注册界面的显示和场景的切换。以下是完整的代码,并附有详细的注释说明: using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagemen…

Meta AI 推出机器人开源项目:推动触觉感知和人机交互的前沿研究

引言 在人工智能的各个领域中,机器人技术的开源项目成为了近年来的焦点。随着Meta AI(FAIR)发布了最新的触觉感知和机器人交互开源工具包,AI与机器人技术的结合再次引起广泛关注。通过开源的触觉编码工具、标准化的机器人手部平台…

Python中的extend()方法与+操作符和list.append()方法的异同

在Python编程中,我们经常需要将一个列表的元素添加到另一个列表中。有几种方法可以实现这一点,包括extend()方法、操作符和list.append()方法。本文将详细讨论这三种方法的异同,帮助你更好地理解它们在实际编程中的应用。 1. extend()方法 e…

【论文笔记】Token Turing Machines

🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 基本信息 标题: Token Turing Machines 作…

【网络面试篇】HTTP(2)(笔记)——http、https、http1.1、http2.0

目录 一、相关面试题 1. HTTP 与 HTTPS 有哪些区别? 2. HTTPS 的工作原理?(https 是怎么建立连接的) (1)ClientHello (2)SeverHello (3)客户端回应 &a…

blender导入的图片渲染看不见,图片预览正常,但渲染不出

在使用Blender时,我们经常会遇到导入图片后在预览渲染中显示,但在实际渲染时图片消失的问题。本文将提供详细的解决方法,帮助大家解决“Blender导入的图片渲染图像不显示”的问题。 问题原因 导入的图片在Blender中只是一张图,并…