Linux模块

news/2024/10/21 11:38:42

ansible-doc -l:查看ansible系统的模块
ansible-doc 加模块名 :具体查看那个模块
ansible-doc -s 加模块名 :具体查看那个模块

ansible重要常用模块

5、copy模块功能说名

功能:主要用于将管理主机上的数据信息传送给多台远程主机上
src:本地路径文件复制到远程服务器;可以是相对路径,也可以是绝对路径,如果路径是一个目录,将会递归复制,在这种情况下,路径如果“/”结束,只将在该目录下的内容复制到目的地,如果不以“/”结束,目录和目录下所有的内容都会被复制dest:文件应该被拷贝到的远程绝对路径信息,如果src是一个目录,dest也必须是目录owner:定义所拥有文件/目录的所属用户名称,类似chown命令功能group:定义所拥有文件/目录的属组名称mode:数据文件复制到远程主机,设置数据的权限,就像(0644) backup:创建备份文件并包含时间戳信息,以便能够还原回原文件信息,在某种情况下原 文件被覆盖错误时,默认配置为no,并且配置指定信息为yes|nocontent:在文件中添加指定的内容,如果原来文件中有内容,内容会被覆盖force:默认yes,当远端文件内容和源文件内容不同时,将覆盖目标文件,如果为no,文件将只被传输,在目标主机不存在此文件时别名thirstyremote_src:如果设置为yes,表示将远程主机上的数据进行移动操作如果设置为no,表示将管理主机上的数据进行移动操作说明:copy模块是远端推送数据模块,只能将数据推送到远端主机上,不能实现拉取数据到本地管理主机

格式:

	ansible 172.16.1.31 -m copy -a "src=/oldboy/ dest=/oldboy/ mode=0644"将管理端的/oldboy下的数据信息备份到主机ip为31的/oldboy下,并且权限修改为0644
说明:copy模块在复制数据时,如果数据为软连接文件,会将链接文件进行复制

6、file模块功能说明

功能:设置文件属性
src:要链接文件的路径(只能应用state=link),创建链接文件时使用path:文件路径管理 :别名方式:dest,name
owner:定义所拥有文件/目录的所属用户名称group:定义所拥有文件/目录的所属组的名称,mode:定义文件或目录的权限信息recurse:递归的设置文件的属性,只对目录有效state:如果指定参数directory:所有不存在的子目录将会被创建;创建一个空目录如果指定参数为file:如果文件不存在将不能被创建如果指定参数为link:符号链接将会被创建或更改如果指定参数为hard:便会创建出硬链接如果指定参数为absent:目录将会被递归删除以及文件,而链接将被取消链接,如果指定参数为touch:如果路径不存在将创建一个空文件,如果文件或目录存在,将接收更新的文件访问和修改时间
说明:file模块主要用于创建文件或目录数据,以及多存在的文件或目录权限属性进行修改管理;利用recurse参数可以实现递归修改目录中数据权限,但是目录如果有链接文件,无法对链接文件进行递归修改
语法格式:ansible oldboy -m file -a "dest=/www state=absent	

8、service:模块功能

功能:用于管理服务运行状态

参数:

enabled(no  yes) 设置服务是否开机自启动,如果参数不指定,原有服务开机自启动状态进行保留
name(required)设置要启动/停止服务名称state    reloaded   平滑重启restarted    重启started  		启动stopped		停止
格式:  ansible oldboy -m service -a "name=crond state=started”

10、group模块功能

功能:远程批量创建用户组信息
参数:gid	指定创建的组ID信息name:指定创建组名称信息state	absent:删除指定的用户组present:创建指定的用户组
格式:ansible oldboy -m group -a "name=oldboy_56 gid=1056"

11、user模块功能

功能:远程批量创建用户信息
参数:	name	指定用户名信息UID		指定用户UID信息group	指定用户主要属于哪个组groups	指定用户属于哪个附加组信息shell		指定使用的命令解释器 (/bin/bash  /bin/nologin)
create_home  是否创建家目录信息 home	指定家目录创建在什么路径   默认/homepassword设置密码时不能使用明文方式,只能使用密文方式,可以给用户设置密				  码,还可以给用户修改密码	设置密文方法:ansible all -m debug -a "msg={{ 'mypassword' | password_hash('sha512', 'mysecretsalt') }}"

7、yum模块功能说明

功能:yum包管理模块

参数

name:需要安装的软件包名称信息,或包的版本标识信息state:是否安装(install),或者移除一个包(absent or  removed  将软件进行卸载)present/installed  将软件进行安装3latest:安装最新的软件   yum update

格式:

	ansible oldboy -m yum -a "name=httpd-tools state=installed"

10、cron模块功能

功能:定时任务模块
参数:job	和设置定时任务相关参数name	设置定时任务注释信息state	absent删除指定定时任务disabled   yes将指定定时任务进行注释    no:取消注释分(minute) 时(hour) 日(day) 月(month) 周(weekday)格式:ansible oldboy -m cron -a "name='cron-id03 ntpdate time' minute=*/5 job='/usr/sbin/ntpdate ntp1.aliyun.com &>/dev/null'"

14、unarchive 模块功能

用于解压文件

参数:

copy:默认为yes,当copy=yes,那么拷贝的文件是从ansible主机复制到远程主机上的,如果设置为copy=no ,那么会在远程主机上寻址src源文件
src:源路径,可以是ansible主机上的路径,也可以是远程主机上的路径,如果是远程主机上的路径,则需要设置copy=no
dest:远程主机上的目标路径
mode:设置解压缩后的文件权限
格式:ansible pms -m unarchive -a 'src=/srv/tomcat8/apache-tomcat-8.0.29.tar.gz dest=/usr/local copy=no mode=0755'

9、mount模块功能

功能:用于批量管理主机进行挂载操作
参数:fstype:指定挂载的文件系统类型opts:指定挂载的参数信息path:定义一个挂载点信息src:定义设备文件信息state  absent  会进行卸载,也会修改fstab文件信息unmounted  会进行卸载,不会修改fstab文件present	不会挂载,只会修改fstab文件mounted		会进行挂载,会修改fstab文件
格式:  ansible oldboy -m mount -a "src=172.16.1.31:/data/  path=/mnt fstype=nfs state=present"

ping command shell scripts ping

1.ping模块

Ansible最基础的模块是ping模块,主要用于判断远程客户端是否在线,用于ping本身服务器,返回值是changed、ping

使用Ansible ping服务器状态,代码为ansible -k all -m ping

因为我的ansible服务器已经做了免密登录,所以不用到-k参数,关于ansible的各个参数在ansible原理篇里详解

结果如下:

2、command模块功能

功能:执行一个命令在远程节点上作用:批量管理主机的模块参数说明chdir:在执行命令之前,通过cd命令进入指定目录中creates:定义一个文件是否存在,如果不存在,则运行相应命令;如果存在跳过此步骤free_form:参数信息中可以输入任何系统命令信息,实现远程管理removes:定义一个文件是否存在,如果存在运行相应的命令;如果不存在跳过此步骤
说明:command模块为基本命令模块,默认可以不用-m指定模块信息,并且需要注意在使用command模块执行远程命令时,命令中不能包含变量类似$HOME和参数类似“<”>“|”,“&”等信息,否则命令将不会被识别,command模块为基本命令模块,可以省略不用指定
格式:
ansible oldboy -m command -a "hostname"

3、shell模块功能说明(类似command模块升级版)--万能模块

功能:执行一个命令在远程节点上

参数说明

chdir:在执行命令前,通过cd命令进入指定目录中creates:定义一个文件是否存在,如果不存在,则运行相应的命令;如果存在,跳过此步骤free_from:参数信息中可以输入任何系统命令信息,实现远程管理removes:定义一个文件是否存在,如果存在,运行相应的命令;不存在跳过此步骤
说明:shell模块视为基本命令模块,可以执行脚本信息,当相应脚本文件需要存在与远程主机节点上,并且shell模块不受变量和参数等影响,都有可以进行识别
格式:
ansible oldboy -m copy -a "src=/server/scripts/aa.sh dest=/server/scripts/ mode=ugo+x":将管理节点编写好的脚本批量推送到远程节点主机并修改权限为执行能力
ansible oldboy -m shell -a "/server/scripts/aa.sh":远程运行脚本文件
补充:利用shell模块实现批量执行远程主机脚本时,脚本必须在远程主机上存在,并且授权为执行权限shell模块详解:chdir:执行命令前,切换到该目录
creates:当该文件存在时,不执行该步骤
executable:使用shell环境执行脚本
free_from:需要执行的脚本
removes:当该文件不存在时,不执行该步骤
warn:如果在ansible.cfg中存在告警,如果设定了false,不会告警此行

4、script模块功能说明

功能说明:远程节点上运行本地脚本模块

参数说明:

creates:定义一个文件是否存在,如果不存在,则运行相应的命令;如果存在跳过此步骤free_from:参数信息中可以输入任何系统命令信息,实现远程管理removes:定义一个文件是否存在,如果存在,则运行相应的命令;如果不存在跳过此步骤

格式:

ansible oldboy -m script -a "/server/scripts/aa.sh"
远程运行脚本文件
补充:利用script模块实现批量执行远程主机脚本时,脚本不用在远程主机上存在和授权

12、fetch模块功能

功能:从远程主机拉取过来的文件保存在本地

dest:将远程主机拉取过来的文件保存在本地的路径信息
src:指定远程主机要拉取的文件信息,只能拉取文件
flat:默认设置为no,如果设置为yes,将不显示远程主机的信息

13、template模块功能

功能:作为文件模块,进行文档内变量的替换的模块,它的每次使用都会被ansible标记为“changed”状态;解析文档内的变量信息

参数:

backup:如果原目标文件存在,则先备份目标文件
src:文件的路径,可以是绝对路径和相对路径
dest:将模块渲染到远程主机上的位置
force:是否强制覆盖,默认为yes
owner:目标文件属主
group:目标文件属组
mode:目标文件的权限模式

16、setup模块功能

功能:主要用于获取主机信息,
filter=ansible_hostname  查找主机名
ansible test -m setup -a 'filter=ansible_*_mb'

常见主机信息:

ansible_all_ipv4_addresses:			仅显示ipv4的信息。
ansible_devices:						仅显示磁盘设备信息。
ansible_distribution:					显示是什么系统,例:centos,suse等。
ansible_distribution_major_version:	显示是系统主版本。
ansible_distribution_version:			仅显示系统版本。
ansible_machine:						显示系统类型,例:32位,还是64位。
ansible_eth0:							仅显示eth0的信息。
ansible_hostname:						仅显示主机名。
ansible_kernel:						仅显示内核版本。
ansible_lvm:							显示lvm相关信息。
ansible_memtotal_mb:					显示系统总内存。
ansible_memfree_mb:					显示可用系统内存。
ansible_memory_mb:						详细显示内存情况。
ansible_swaptotal_mb:					显示总的swap内存。
ansible_swapfree_mb:					显示swap内存的可用内存。
ansible_mounts:						显示系统磁盘挂载情况。
ansible_processor:						显示cpu个数(具体显示每个cpu的型号)。
ansible_processor_vcpus:				显示cpu个数(只显示总的个数)。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

Python中的深拷贝与浅拷贝

目录1. 可变对象和不可变对象2. 用=赋值的问题3. copy模块登场4. 重新认识列表对象5. 浅拷贝,深拷贝浅拷贝(copy.copy())一维列表的浅拷贝深拷贝(copy.deepcopy())浅拷贝,深拷贝,直接赋值的区别 1. 可变对象和不可变对象 在 Python 中,数据类型可以分为两大类:可变对象和…

015 时间==事件修饰符

例如prevent对click进行修饰,阻止点击后跳转链接的默认行为其他一些较常用的

小学班级海报

这张图片是一张庆祝国际劳动节的海报,充满了节日的喜庆与对劳动者的崇高敬意。 海报的背景以红色为主色调,象征着热情与活力,营造出一种积极向上的氛围。在海报中央,一个巨大的红色数字“5”与“劳动节”的字样相结合,形成了鲜明的视觉焦点,让人一眼就能感受到节日的主题…

一键生成黑神话悟空小红书封面+文案,抓住流量,狠狠赚一笔!

前段时间,一款名为《黑神话:悟空》的单机游戏爆火出圈,关于它的消息几乎刷爆了所有的社交媒体。 虽然很多人对游戏不感冒,但你仍然可以抓住热点,发周边内容来狠狠地赚一笔。快手、抖音、小红书等各个平台流量都很火爆,比如有人制作了悟空的时装走秀视频:还有其他博主搞出…

更快的辅助生成: 动态推测

更快的辅助生成: 动态推测 ⭐ 在这篇博客文章中,我们将探讨 动态推测解码 ——这是由英特尔实验室和 Hugging Face 开发的一种新方法,可以加速文本生成高达 2.7 倍,具体取决于任务。从 Transformers🤗 发布的版本 4.45.0 开始,这种方法是辅助生成的默认模式⭐ 推测解码 推…

sas和sata的区别

本文深入探讨了SAS(Serial Attached SCSI)和SATA(Serial ATA)两种硬盘接口技术的关键差异。区别主要有:1. 技术架构和速度;2. 价格和可靠性;3. 应用场景和用户群体;4. 硬盘驱动器(HDD)和固态硬盘(SSD)支持。文章从速度、可靠性、应用场景等多个维度进行了全面比较。…