ansible自动运维——ansible使用临时命令通过模块来执行任务

news/2024/5/4 3:15:51/文章来源:https://blog.csdn.net/weixin_51338719/article/details/130327037

大家好,这里是天亮之前ict,本人网络工程大三在读小学生,拥有锐捷的ie和红帽的ce认证。每天更新一个linux进阶的小知识,希望能提高自己的技术的同时,也可以帮助到大家

另外其它专栏请关注:

锐捷数通实验:锐捷数通实验

网络工程师成长日志:网络工程师成长日志

it自动化运维:it自动化运维

 之前说完了ansible的安装、配置和清单文件,今天说一下执行ansible使用临时命令通过模块执行任务。使用临时命令执行任务,不需要编写剧本即可运行,有一定的便利性,但是也有一定的局限性。

这里不得不提出我写的上一个博客:ansible自动运维——学会参考ansible-doc命令,本博客加上上一个博客一起学习,效果事半功倍。

一 ansible模块

通过ansible-doc -l 命令来查找系统安装的所有模块

1.1文件模块

copy:将本地文件复制到受控主机
file:设置文件的权限和其他属性
lineinfile:确保特定行是否在文件中,也就是说修改文件内容
synchronize:使用rsync同步内容

1.2 软件包模块

package:使用操作系统本机的自动检测软件包管理器管理软件包
yum:使用yum软件包管理器管理软件包
apt:使用apt软件包管理器管理软件包
dnf:使用dnf软件包管理器管理软件包
pip:从PyPI管理Python软件包

1.3 系统模块

firewalld:使用firewalld管理任意端口和服务
reboot:重新启动计算机
service:管理服务
user:添加、删除和管理用户账户

1.4 Net Tools模块

get_url:通过http、https或者ftp下载文件
nmcli:管理网络
uri:与WEB服务交互

1.5 语法

ansible 主机名称 -m 模块名称 -a ‘具体动作’ -i inventory路径
命令 主机名称 指定模块 模块名称 模块动作 具体命令

  • -m :用于将Ansible应再目标主机上运行的module的名称作为参数
  • -a :用于带引号字符串形式取这些参数的列表
  • -i :用于指定要使用的其它清单位置,取代ansible.cfg主配置文件中默认的inventory路径

二 copy模块

就将一个文件拷贝到所有的被控制节点上

2.1常用参数:

  • src参数 :用于指定需要copy的文件或目录。

  • dest参数 :用于指定文件将被拷贝到远程主机的哪个目录中,dest为必须参数。

  • content参数 :当不使用src指定拷贝的文件时,可以使用content直接指定文件内容,src与content两个参数必有其一,否则会报错。

  • force参数 : 当远程主机的目标路径中已经存在同名文件,并且与ansible主机中的文件内容不同时,是否强制覆盖,可选值有yes和no,默认值为yes,表示覆盖,如果设置为no,则不会执行覆盖拷贝操作,远程主机中的文件保持不变。

  • backup参数 : 当远程主机的目标路径中已经存在同名文件,并且与ansible主机中的文件内容不同时,是否对远程主机的文件进行备份,可选值有yes和no,当设置为yes时,会先备份远程主机中的文件,然后再将ansible主机中的文件拷贝到远程主机。

  • owner参数 : 指定文件拷贝到远程主机后的属主,但是远程主机上必须有对应的用户,否则会报错。

  • group参数 : 指定文件拷贝到远程主机后的属组,但是远程主机上必须有对应的组,否则会报错。

  • mode参数 : 指定文件拷贝到远程主机后的权限,如果你想将权限设置为”rw-r--r--“,则可以使用mode=0644表示,如果你想要在user对应的权限位上添加执行权限,则可以使用mode=u+x表示。

2.2案例

  • copy模块将hello vrlab 字符串内容放到ansible被管理节点hello文件,设置hello文件的属主为root 属组为root 权限为550

 [student@workstation ansible]$ ansible -m copy -a "content='hello vrlab' dest=/opt/hello owner=root group=root mode=550" vrlab1

 检验:

  •  用copy模块将源文件传送到ansible被控制节点的vrlab组下面

[student@workstation ansible]$ ansible -m copy -a "src=/opt/vrlab123 dest=/opt/vrlab456"

三 user模块 

user就是用来创建用户,设置权限,创建组等等

3.1常用参数

  • name: 用于指定操作的 user,必须项。
  • uid: 用于指定 user 的 UID,默认为空。
  • non_unique: 与uid参数一起使用,允许改变UID为非唯一值。
  • group: 参数用于指定用户 主组。默认值为空,为空时创建的用户组名跟用户名一致。
  • groups: 参数用于指定用户属组,可以在创建用户时指定用户属组,也可以管理已经存在的用户属组。
  • append: 跟groups参数一起使用管理用户属组,默认为false,如果 append='yes' ,则从groups参数中增加用户的属组;如果 append='no' ,则用户属组只设置为groups中的组,移除其他所有属组。
  • state: 参数用于指定用户是否存在于远程主机中。可选值有 present、absent,默认值为 present。
  • remove: 参数在 state=absent 时使用,等价于 userdel --remove 布尔类型,默认值为 false。
  • force: 参数在 state=absent 时使用,等价于 userdel --force,布尔类型,默认值为 false。
  • home: 参数用于指定用户home目录,值为路径
  • create_home: 在用户创建时或home目录不存在时为用户创建home目录,布尔类型,默认值为 true
  • move_home: 如果设置为yes,结合home= 使用,临时迁移用户家目录到特定目录
  • comment: 参数用于指定用户注释信息
  • shell: 参数用于指定用户默认shell
  • system: 参数用于指定用户是否是系统用户
  • expires: 参数用于指定用户过期时间,相当于设置 /etc/shadow 文件中的的 第8列
  • passwd: 参数用于指定用户密码,但是这个密码不能是明文密码,而是一个对明文密码加密后的字符串,默认为空

3.2案例

在vrlab主机组上添加用户lmy

 检验:

 使用 ansible 在 控制节点上 创建test 用户,并指定主组为 testgrp

 首先创建使用ansible创建testgrp组

 使用ansible创建test用户

 验证:

 简单举出copy和user两个模块的案例供参考,由于模块太多,大家可自学查阅资料

 “生活的方向无论你如何选择都会后悔,人总向往没经历过的生活”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_102342.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为什么使用了索引,查询还是慢?

🏆今日学习目标: 🍀为什么使用了索引,查询还是慢? ✅创作者:林在闪闪发光 ⏰预计时间:30分钟 🎉个人主页:林在闪闪发光的个人主页 🍁林在闪闪发光的个人社区&…

linux 安装 oracle 11g

linux 安装 oracle 11g 1、下载oracle 11g (11.2.0.1.0)1.1、Oracle Database 11.2.0.1.01.2、Oracle Database Grid Infrastructure 11.2.0.1.01.3、客户端 2、安装文档3、安装前准备3.1、建立用户和用户组3.2、sysctl3.3、security limits3.4、其他设置3.5、创建安装目录3.6、…

校招又临近了,怎么在面试中应对设计模式相关问题呢?

夏天开始了,那么夏天结束时的毕业季也不远了。毕业是个伤感、期待而又略带残酷的时节,就像蜜桃无论成熟与否都会在这个时间被采摘,如果毫无准备就踏入社会,就会……马上变成低级社畜。所以说还是要早点为了毕业找工作做点准备&…

Jetson nano B01学习笔记 -- 系统环境配置以及ROS安装

文章目录 一、Jetson nano 简介二、 系统环境配置1、系统镜像烧录2、CUDA环境配置 三、 ROS安装和环境配置总结 一、Jetson nano 简介 Jetson Nano是一款体积小巧、功能强大的人工智能嵌入式开发板,于2019年3月由英伟达推出。它预装Ubuntu 18.04LTS系统,…

LeafLet加载自定义Legend的设计与实现

背景 众所周知,在GIS的世界里,图例和地图永远是一对一起出现的对象。在地图上表示地理环境各要素,比如山脉、河流、城市、铁路等所用的符号叫做图例。这些符号所表示的意义,常注明在地图的边角上。图例是表达地图内容的基本形式和…

小六壬学习笔记

小六壬学习笔记 简介前置知识:十二地支和十二时辰适用范围起课:月令日时卦象 疑问:遇到闰月怎么办?禁忌数字起课法手机计算器取余数 简单解卦 简介 马前课,又名:小六壬。 小六壬历史渊源:https://m.sohu.c…

统信UOS 20 安装达梦数据库V8

统信UOS 20 安装达梦数据库V8 1、安装教程2、启动数据库实例服务失败解决方法3、使用dm管理工具连接数据库 1、安装教程 https://blog.csdn.net/OceanWaves1993/article/details/129936878 此教程进行到启动数据库实例步骤时 使用下面命令启动数据库实例服务时,报…

大数据技术之集群数据迁移

在大数据集群数据迁移的项目中涉及到很多技术细节,本博客记录了迁移的大致的操作步骤。 迁移借用Hadoop自带的插件:distcp。 一、Hadoop集群数据迁移 **DistCp(分布式拷贝)**是用于大规模集群内部和集群之间拷贝的工具。它使用M…

DHCP笔记

目录 DHCP动态主机配置协议——UDP67/68端口 DHCP获取IP地址 客户端首次获取IP地址 客户端再次获取IP地址 租期/续租 DHCP的工作报文 DHCP的配置 案例 DHCP动态主机配置协议——UDP67/68端口 DHCP是应用层协议,采用C/S服务模式,只能在一个广播域…

数据科学与机器学习在软件开发中的应用

数据科学和机器学习是现代软件开发的重要组成部分,可以帮助开发人员更好地理解和分析数据,从而提高软件的质量和性能。在本篇博客中,我将深入探讨数据科学和机器学习在软件开发中的应用,并讨论它们如何帮助我们创建更好的软件。 …

Xshell中的基本命令

whoami 当我们刚登录上Xshell的时候,我们应该做什么呢?? 我们上次说了如何增加使用者,和删除使用者,今天我们说一下其他的基本命令。 我们刚开始登录的时候可以用root登录 那么我们怎么看自己事谁呢? …

Android 一个获取网址时间的Demo

Android 一个获取网址时间的Demo 文章目录 Android 一个获取网址时间的Demo通过一个网址获取时间的代码关于Android NTP 时间Android 同步时间代码 前段时间有个客户想用局域网同步Android 设备的时间,开发后把这个demo分享一下。 效果: 这里也获取了阿…

VUE3子组件-业务代码优化

Vue3子组件 1.简介 Vue 3组件的主要优势之一就是它们可以帮助你将你的应用程序分解成可维护和可重用的部分。当你在应用程序中多次使用相同的代码时,你可以将它们抽象成一个组件,然后在应用程序中的多个地方使用该组件,而不必每次都编写相同…

User Diverse Preference Modeling by Multimodal Attentive Metric Learning

BACKGROUND 现有模型通常采用一个固定向量去表示用户偏好,在假设——特征向量每一个维度都代表了用户的一种特性或者一个方面,这种方式似乎不妥,因为用户对于不同物品的偏好是不一样的,例如因演员喜欢一部电影,而因特…

Linux 静态库的制作与使用

目录 静态库1、 什么是库2、 静态库的制作2.1 命名规则与制作规则 3、 静态库的使用 静态库 1、 什么是库 库文件是计算机上的一类文件,可以简单的把库文件看成一种代码仓库,它提供使用者可以直接拿来用的变量、函数或类。库是一种特殊的程序&#xff…

多兴趣推荐召回模型:ComiRec

前言 多兴趣向量召回系列: 通过Youtube DNN推荐模型来理解推荐流程 多兴趣召回模型:MIND 推荐系统可以表达为序列推荐问题的形式,序列推荐任务是通过用户的历史行为来预测用户下一个感兴趣的item,这也与真实场景的推荐场景是符…

ERROR org.springframework.web.context.ContextLoader

项目启动时报错: ERROR org.springframework.web.context.ContextLoader - Context initialization failed java.lang.NoSuchMethodError: org.springframework.core.annotation.AnnotationUtils.clearCache() 原因分析 这个错误的原因可能是因为 Spring 的不同…

Go 语言进阶与依赖管理

作者:非妃是公主 专栏:《Golang》 博客主页:https://blog.csdn.net/myf_666 个性签:顺境不惰,逆境不馁,以心制境,万事可成。——曾国藩 文章目录 一、语言进阶1. 并发和并行2. 协程(Goroutine…

Ubuntu20.04软件安装大全

目录 Ubuntu20.04 软件安装大全前言1. Windows和Ubuntu双系统安装1.1 下载Ubuntu系统镜像1.2 磁盘分区1.3 GPT分区安装Ubuntu1.4 系统完成后的一些设置1.5 遇到的一些小bug 2. 换源2.1 apt换源2.2 pip换源 3. 显卡驱动安装3.1 卸载显卡驱动3.2 准备工作3.3 驱动安装3.4 验证 4.…

Python自动发送消息小脚本,可用于各种聊天框~

作者主页:爱笑的男孩。的博客_CSDN博客-深度学习,YOLO,活动领域博主爱笑的男孩。擅长深度学习,YOLO,活动,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域.https://blog.csdn.net/Code_and516?typecollect 个…