Ansible:模块2

1,command模块

一般用于执行linux的命令,不支持管道符和重定向。

2,shell模块 相当于command的升级版,也可以执行linux命令,支持管道符和重定向

3,cron 模块 在远程主机生成定时任务

分 时 日 月 周

minute hour day mouth weekday job=执行的命令

name要加

4,user模块:

远程管理用户的模块,创建用户

system=yes | no

声明是普通还是系统用户

yes程序用户

no普通用户

登录的shell还是需要用户自己声明。

remove=yes | no

生成用户时是否生成家目录。

userdel -r

password,创建密码

5,group模块,创建用户组

6,ping模块测试和远程主机的连通性。

只有在/etc/absible/hosts文件当中声明的主机,ansible的服务端才可以进行远程操作。

7,hostname模块

改主机名

ansible 192.168.176.50 -m hostname -a 'name=test2'

8,copy 模块:

用于复制指定的主机文件到远程主机的模块

常用参数:

dest:指出要复制的文件在哪,必须使用绝对路径。如果源目标是目录,指目标也得是目录。如果目标的文件存在,会覆盖原有内容。

src:复制文件的源,最好使用绝对路径,源目标是目录,指目标也得是目录

owner:指出文件的所有者

group:指定文件的所在组

content:从主机复制指定的内容到目标主机,content就不能使用src了

mode:指定复制之后的文件的权限

ansible 192.168.176.50 -m copy -a 'src=/opt/123 dest=/opt/123.txt owner=guoqi mode=600'

练习:在日标主机创建- -个用户guoqi system-yes shell nologin, 复制文件ky32. txt,

isy32.txt所有者和所在组都是guoqi,权限是600.

ansible 192.168.176.50 -m copy -a 'src=/opt/ky32.txt dest=/opt/ky32.txt owner=guoqi group=guoqi mode=600'

ansible 192.168.176.50 -m copy -a 'src=/opt/guoqi/ dest=/opt/guoqi1/ mode=777'

复制目录时,还是复制完整的目录,即目录当中不能为空。目录里面要有一个文件

指定要打印的内容

ansible 192.168.176.50 -m copy -a 'content="hello world!" dest=/opt/hello.txt'

ansible 192.168.176.50 -a 'cat /opt/hello.txt'

剪切:

ansible 192.168.176.50 -a 'mv /opt/hello.txt /opt/wangdefu.txt'

ansible 192.168.176.50 -a 'cat /opt/wangdefu.txt'

9,file模块 文件模块,跟目录无关

owner

group

mode

state=link 创建连接文件

state=touch 创建文件

state=directory 创建目录

state=absent 删除文件

ansible 192.168.176.50 -m file -a 'path=/opt/cc.txt state=touch'

#path=/opt/cc.txt:声明客户机的路径和文件名称

#state=touch:类型为创建文件

ansible 192.168.176.50 -m file -a 'owner=cc group=cc mode=777 path=/opt/cc.txt'

练习

file模块创建一个文件,ky32.txt 所有者和所在组cc 权限700

ansible 192.168.176.50 -m file -a 'path=/opt/ky32.txt state=touch'

ansible 192.168.176.50 -m file -a 'owner=cc group=cc mode=700 path=/opt/ky32.txt'

设置连接文件

设置软连接

ansible 192.168.176.50 -m file -a 'path=/opt/cc.txt.link src=/opt/cc.txt state=link'

练习:

给/etc/fstab创建一个软连接, 这个文件是主机/ opt/ fstab . bak复制过来的文件,复制的

文件/opt/fstab. bak在目标主机的/opt下,创建- -一个文件fstab. link作为fstab . bak的软连接。:

ansible 192.168.176.50 -m copy -a 'src=/etc/fstab dest=/opt/fstab.bak'

ansible 192.168.176.50 -m file -a 'path=/opt/fstab.bak.link src=/opt/fstab.bak state=link'

远程删除文件

ansible 192.168.176.50 -m file -a 'path=/opt/cc.txt.link state=absent'

也可以创建目录:

ansible 192.168.176.50 -m file -a 'path=/opt/chen state=directory'

10,yum模块

在远程主机上安装与卸载软件包

在目标主机上的操作都是后台运行,不影响其他用户的操作

安装

ansible 192.168.176.50 -m yum -a 'name=tree'

卸载:

ansible 192.168.176.50 -m yum -a 'name=tree state=absent'

练习:查询远程主机httpd的状态2、开启3、访问

启动不要使用service模块

ansible 192.168.176.50 -m yum -a 'name=httpd'

ansible 192.168.176.50 -a 'systemctl start httpd'

ansible 192.168.176.50 -m shell -a 'echo "this is httpd" > /var/www/html/index.html'

ansible 192.168.176.50 -a 'curl 192.168.176.50'

11,service/systemd 模块

state=started | stopped | restarted

enabled=true表示是否设置开机自启,如果不加,默认就是开机不自动启动。

runlevel:配合enabled的, 开机自启,可以设置运行级别。在命令行可用设置,但是不生效,要在playbook当中使用。

ansible 192.168.176.50 -m service -a 'enabled=true name=httpd state=restarted'

ansible webservers -m yum -a 'name=epel-release'

ansible webservers -m yum -a 'name=nginx'

ansible 192.168.176.50 -m service -a 'enabled=true name=nginx state=restarted'

ansible 192.168.176.50 -m shell -a 'echo "this is nginx" >/usr/share/nginx/html/index.html'

ansible 192.168.176.50 -a 'curl 192.168.176.50'

12,script 模块

运行本地脚本,然后把结果输出到目标主机

vim test.sh

echo "hello world" > /opt/test2.txt

chmod 777 test.sh

ansible all -m script -a 'test.sh'

ansible all -a 'cat /opt/test2.txt

vim test1.sh

ansible all -m script -a 'test1.sh'

ansible all -a 'cat /opt/123

作业

13,set up模块

set up查看目标主机的环境系统(facts),目标节点的系统信息。

不加条件会显示全部。

ansible 192.168.176.50 -m setup

常用组件

加上条件:根据模块名称来查。

IP地址:

ansible 192.168.176.50 -m setup -a 'filter=*ipv4*'

cpu:

ansible 192.168.176.50 -m setup -a 'filter=*ansible_processor'

查看内存

menory

ansible 192.168.176.50 -m setup -a 'filter=*mem*'

查看内核:

ansible 192.168.176.50 -m setup -a 'filter=*proc*'

查看系统信息:

ansible 192.168.176.50 -m setup -a 'filter=*os*'

ansible 192.168.176.50 -m setup -a 'filter=*system*'

查看硬盘:

ansible 192.168.176.50 -m setup -a 'filter=*dev*'

主机清单进行管理

快速的声明主机范围。

如何取消shh密钥对登录

ansible_host 连接时的ip地址

ansible_prot 声明对方的连接端口,默认是ssh的22端口

ansible_user 指定路径是使用对方主机的用户名,不指定主机执行ansible的用户即为使用目标主机的用户名。

ansible_password 指定连接sshs时的密码(目标主机的用户密码)

ansible_become 提升用户权限

ansible_become root

ansible_become_password 指定切换用户的密码。(免秘钥登录才可以实现。 )

71行取消注释

对所有webservers进行设置:

也可以对全部进行设置

组嵌套:

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

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

相关文章

多级缓存:亿级流量的缓存方案

文章目录 一.多级缓存的引入二.JVM进程缓存三.Lua语法入门四.多级缓存1.OpenResty2.查询Tomcat3.Redis缓存预热4.查询Redis缓存5.Nginx本地缓存6.缓存同步 一.多级缓存的引入 传统缓存的问题 传统的缓存策略一般是请求到达Tomcat后,先查询Redis,如果未…

存储:windows 10 硬盘盒 新盘 SSD分区

1.准备好绿联2.5英寸 2.准备好 SSD 磁盘 3.接入硬盘和盒子 4.win10 电脑 win x 然后选择磁盘管理 (磁盘管理 K) 5.它会提示需要初始化的一个新的磁盘,确定初始化 6.添加卷 7.命名盘符 8.检测是否识别到盘符 9.end

【学习笔记】部署yolov8到安卓手机

一、环境配置和源码安装 首先你需要配置好pytorch环境,本文不再详细阐述,若未配置好环境,可以参考我的另一篇博客:https://blog.csdn.net/liujiahao123987/article/details/128743017 yolov8的安装可参考:https://blog…

【C语言 | 内存管理】野指针、静态区、堆、栈、常见的内存错误及对策

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

【MATLAB源码-第101期】基于matlab的蝙蝠优化算BA)机器人栅格路径规划,输出做短路径图和适应度曲线。

操作环境: MATLAB 2022a 1、算法描述 蝙蝠算法(BA)是一种基于群体智能的优化算法,灵感来源于蝙蝠捕食时的回声定位行为。这种算法模拟蝙蝠使用回声定位来探测猎物、避开障碍物的能力。在蝙蝠算法中,每只虚拟蝙蝠代表…

软件测试实现Finddler的手机抓包过程

Fiddler的手机抓包过程 1、启动Fiddler 打开菜单栏中的 Tools > Fiddler Options,打开“Fiddler Options”对话框: 2、在Fiddler Options”对话框 切换到“Connections”选项卡,然后勾选“Allow romote computers to connect”后面的复选…

UE5 C++(七)— UObject、UGameInstance实例化

文章目录 UObject实例化创建一个MyObject类在Default Pawn Class 中实现MyObject中参数调用 UGameInstance实例化创建GameInstance UObject实例化 创建一个MyObject类 在Default Pawn Class 中实现 注意:要实现运行时调用可在这里提前配置,具体参考之前…

(数据结构)单链表的插入删除

代码实现 #include<stdio.h> #include<stdlib.h> typedef struct LNode {int data;struct LNode* next; }LNode, * LinkList; //创建头结点 LNode* InitList(LinkList L) {L (LNode*)malloc(sizeof(LNode));if (L NULL){printf("申请头结点失败\n");…

公共字段自动填充——后端

场景&#xff1a;当处理一些请求时&#xff0c;会重复的对数据库的某些字段进行赋值&#xff08;如&#xff1a;在插入和更新某个物品时&#xff0c;需要更新该物品的更新时间和更新者的信息&#xff09;&#xff0c;这样会导致代码冗余。 如&#xff1a; 思路&#xff1a; 自…

【经典LeetCode算法题目专栏分类】【第2期】组合与排列问题系列

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 组合总和1 class So…

脉冲水表计量方法有哪些?

随着社会的发展和人们对资源的需求不断增长&#xff0c;水资源的有效利用显得尤为重要。而水表作为测量家庭和工业用水的关键设备&#xff0c;其准确性和稳定性对于水资源管理至关重要。本文将重点介绍水表脉冲数计量方法&#xff0c;以帮助读者更好地理解和应用水资源。 一、机…

vue3项目引入电子签名(可横屏竖屏)

实现效果&#xff1a;&#xff08;左边横屏&#xff0c;右边竖屏&#xff09; 前言&#xff1a;【使用开源项目smooth-signature 实现签名的功能。Gitee 地址是 &#xff1a;GitHub - linjc/smooth-signature: H5带笔锋手写签名&#xff0c;支持PC端和移动端&#xff0c;任何前…

【超图】SuperMap iClient3D for WebGL/WebGPU ——地形影像

作者&#xff1a;taco 号外&#xff01;号外&#xff01;开新坑了&#xff01;开新坑了&#xff01;对于一个代码小白来讲&#xff0c;设置可能是刚接触开发的人&#xff08;还没接触准备接触&#xff09;的人来说。对于读代码或是在对产品的使用上会存在许许多多的疑惑。接下来…

Ansible(一)

Ansible: 远程操作主机功能&#xff1a; 自动化运维&#xff08;playbook剧本YAML&#xff09; 是基于Python开发的配置管理应用部署攻具&#xff0c;在自动化运维当中&#xff0c;现在是异军突起 Ansible能批量配置&#xff0c;部署&#xff0c;管理上千台主机&#xff0c…

探索 MajicStudio:一款多功能视频编辑软件

一、产品简介 MajicStudio是一款基于人工智能的图片编辑与设计工具&#xff0c;拥有简洁的界面与丰富功能。采用深度学习和计算机视觉技术可以自动识别图片要素。 二、应用场景 MajicStudio的AI图像功能适用于多场景&#xff0c;包括艺术设计、电商、游戏和文创等场景。 三、…

【ranger】CDP环境 更新 ranger 权限策略会发生低概率丢失权限策略的解决方法

一、问题描述&#xff1a; 我们的 kafka 服务在更新&#xff08;添加&#xff09; ranger 权限时&#xff0c;会有极低的概率导致 MM2 同步服务报错&#xff0c;报错内容 Not Authorized。但是查看 ranger 权限是赋予的&#xff0c;并且很早配置的权限策略也会报错。 相关组件…

数据结构与算法-动态规划-地下城游戏

地下城游戏 恶魔们抓住了公主并将她关在了地下城 dungeon 的 右下角 。地下城是由 m x n 个房间组成的二维网格。我们英勇的骑士最初被安置在 左上角 的房间里&#xff0c;他必须穿过地下城并通过对抗恶魔来拯救公主。 骑士的初始健康点数为一个正整数。如果他的健康点数在某…

DDR4 设计概述以及分析仿真案例(硬件学习)

引言&#xff1a;随着计算机&#xff0c;服务器的性能需求越来越高&#xff0c;DDR4开始应用在一些高端设计中&#xff0c;然而目前关于DDR4的资料非常少&#xff0c;尤其是针对SI(信号完整性)部分以及相关中文资料&#xff0c;另外一方面&#xff0c;DDR4的高速率非常容易引起…

SQL进阶理论篇(十四):CBO优化器是如何计算代价的?

文章目录 简介能调整的代价模型的参数有哪些&#xff1f;mysql.server_costmysql.engine_cost 如何修改这些代价参数&#xff1f;代价模型具体是如何计算的参考文献 简介 大部分RDBMS都支持基于代价的优化器CBO&#xff0c;但其实CBO仍然存在缺陷&#xff08;比如参数配置的不…

Xcode 恢复Discard Changes

当开发的时候&#xff0c;Discard All Changes后 文件的修改都被放弃了&#xff0c;怎么才可以撤销更改呢 Xcode和Git没有这个功能&#xff0c;Finder可以实现 首先我们先退出Xcode用TextEdit打开你想恢复的文件转到文件 > 还原到 > 浏览所有版本...选择你想恢复的版本即…