首页 > 其他分享 >Ansible运行临时命令

Ansible运行临时命令

时间:2024-07-29 17:42:44浏览次数:12  
标签:文件 shell 临时 主机 ansible 命令 state Ansible 模块

一、基本语法格式:

格式:ansible 受控主机IP/主机组 [选项] 参数

选项
-k 手动输入SSH协议的代码
-l 指定主机清单文件
-m 指定要使用的模块名
-a 设置传递给模块的参数
-M 指定要使用的模块路径
-S 使用su命令
-T 设置SSH协议的连接超时时间
--version 查看版本信息
-h 帮助信息
例如:ansible 192.168.10.128 -m ping -k

使用ansible-doc -l 可以列出当前版本已经安装的所有模块

使用ansible-doc 模块名 可以获取模块的使用帮助信息

二、ansible常见模块

ansible常用的模块名
ansible-doc 模块名 可以查看模块名的信息,下面有一个EXAMPLES:字段为示例
ping 检查受管主机的网络是否能够连通
yum 安装、更新及卸载软件包
示例:ansible all -m yum -a 'name=httpd state=latest' name为安装的软件包名称,state=latest代表状态为latest,下载版本最新的软件包
yum_repository 管理主机的软件仓库配置文件
template 复制模版文件到受管主机
copy 新建、修改及复制文件
示例:ansible all -m copy -a 'src=/etc/yum.repos.d/CentOS-Base.repo dest=/etc/yum.repo.d/' 拷贝主控机上的文件到all被控机上(src为需要拷贝的源文件路径,dest为拷贝到的目的主机上的目录)
user 创建、修改及删除用户
group 创建、修改及删除用户组
service 启动、关闭及查看服务状态
get_url 从网络下载文件
file 设置文件权限及创建快捷方式
模块常用参数
path=被管理文件的路径;
state=状态;
state状态常用参数
absent 删除目标文件
touch 如果目标文件不存在,则创建文件;如果文件存在,则更改目标文件的时间戳
directory 创建目录
hard 给目标文件参加软链接;与src一起用
link 给目标文件创建软链接;与src一起用
setype=安全上下文属性;
owner=文件所属主;
group=文件的所属组;
mode=文件的权限(0644;0755);
src=链接文件的路径
示例
ansible all -m file -a 'path=/mnt/xxx state=absent' 删除一个文件
ansible all -m file -a 'path=/mnt/xxx state=touch owner=cp group=cp mode=0755' 创建一个文件,所属主为cp,所属组为cp,权限为0755
cron 添加、修改及删除计划任务
command 直接执行用户指定的命令
ansible中默认执行的模块,默认自带-m command;不支持($、<、>、|)等特殊符号,shell模块支持
shell 直接执行用户指定的命令(支持特殊字符)
示例:在主控机上使用ansible的shell模块,对受控主机挂载源镜像
ansible all -m shell -a 'mkdir /mnt/cdrom' -m 使用shell模块,在受控主机上创建挂载点
ansible all -m shell -a 'mount /dev/cdrom /mnt/cdrom' 在受控主机上手动挂载
ansible all -m shell -a 'mount -a' 更新
ansible all -m shell -a 'umount /mnt/cdrom' 卸载
ansible all -m shell -a 'lsblk' 可以输入命令回显
debug 输出调试或报错信息
示例:ansible all -m debug -a 'msg=666'
mount 挂载硬盘设备文件
示例:ansible all -m mount -a 'path=/mnt/cdrom src=/dev/cdrom fstype=iso9660 state=present' all表示所有主机;-m使用mount模块,-a传递给mount模块的参数为路径、src、类型、state状态(present表示执行挂载操作,unmounted表示执行卸载操作)
filesystem 格式化硬盘设备文件
lineinfile 通过正则表达式修改文件内容
setup 手机受管主机上的系统及变量信息
firewalld 添加、修改及删除防火墙策略
lvg 管理主机的物理卷及卷组设备
lvol 管理主机的逻辑卷设备

三、示例

yum模块:ansible all -m 192.168.10.129 -a 'name=httpd state=latest'

copy模块:ansible 192.168.10.129 -m copy -a 'src=/etc/yum.repos.d/CentOS-Base.repo dest=/etc/yum.repo.d/'

file模块:ansible 192.168.10.129 -m file -a 'path=/mnt/xxx state=touch owner=cp group=cp mode=0755'

shell模块:ansible 192.168.10.129 -m shell -a 'lsblk'

mount模块:ansible 192.168.10.129 -m mount -a 'path=/mnt/cdrom src=/dev/cdrom fstype=iso9660 state=present'

标签:文件,shell,临时,主机,ansible,命令,state,Ansible,模块
From: https://www.cnblogs.com/NETYZreall/p/18330649

相关文章

  • Ansible创建逻辑卷
    环境:受控主机清单文件:[dev]192.168.10.129[all:vars]ansible_ssh_user=rootansible_ssh_pass=123磁盘:受控主机需要存在一块空的磁盘。使用192.168.10.129主机上的sdb创建逻辑卷。yml文件:ansible模块:lvg:管理主机的物理卷及卷组设备lvol:管理主机的逻辑卷设备files......
  • Ansible忽略任务失败
    在默认情况下,任务失败时会中止剧本任务,不过可以通过忽略失败的任务来覆盖此类行为。在可能出错且不影响全局的段中使用ignore_errors关键词来达到目的。环境:受控主机清单文件:[dev]192.168.10.129[all:vars]ansible_ssh_user=rootansible_ssh_pass=123编写yum文件:以下测试......
  • Ansible管理密码库文件
    ansible可能需要访问密码或API密钥等敏感数据,以便能配置受管主机。通常,此信息可能以纯文本形式存储在清单变量或其他Ansible文件中。但若如此,任何有权访问Ansible文件的用户或存储,这些Ansible文件的版本控制系统都能够访问此敏感数据。这存在安全风险。 使用Ansible随附的Ansib......
  • Linux shell mktemp -d命令生成临时文件
    前言全局说明一、说明二、mktemp命令2.1创建临时文件mktemp2.1创建临时目录mktemp-d三、命令行示例mktempll/tmp/tmp.fvi5gFbDgr四、sh脚本使用4.1创建tmpfile=$(mktemp)4.2删除rm"$tmpfile"免责声明:本号所涉及内容仅供安全研究与教学使用......
  • git篇-- Git在项目实操中常见的使用命令--02
    Git是现代软件开发中不可或缺的版本控制工具。它能帮助开发者跟踪项目的所有变更,并与团队成员高效协作。本文将介绍一些在项目实操中常见的Git命令,帮助你更好地管理代码。1.初始化和配置初始化仓库在一个新的项目目录中,初始化Git仓库:gitinit配置用户信息在提交代码......
  • rsync命令详解
     rsync命令是Linux和其他Unix-like系统上一个非常强大的命令行工具,主要用于数据同步和文件传输。它的名字是"remotesync"的缩写,但不仅限于远程同步,也支持本地文件和目录之间的同步。rsync的主要优势在于其高效的增量传输方式,即只传输源和目标之间发生变化的文件块,而不是整个文......
  • Java编译和运行的命令
    目录编译Java程序命令格式:在Java中,编译和运行Java程序涉及到两个主要的命令:javac和java。编译Java程序要使用javac命令编译Java程序,你需要指定包含Java源代码的.java文件。编译过程会将.java文件转换成Java虚拟机(JVM)可以执行的.class文件。命令格式:bashjavacFileName.......
  • find 命令中使用 -exec 和xargs 区别, 以及使用案例
    一、概念释义find 命令是Linux和Unix系统中用于查找文件的强大工具。它允许你根据各种条件(如文件名、大小、类型、权限等)来搜索文件。在使用 find 命令时,-exec 和 xargs 是两种常用的方式来对找到的文件执行额外的命令。尽管它们的目的相似,但在使用方式和效率上存在一......
  • Java编译和运行的命令
    Java编译和运行的命令编译Java程序使用javac命令来编译Java源代码文件(通常是.java扩展名)。基本语法如下:javac[选项][源文件]选项:-d:指定输出目录,默认为当前目录。-g:生成调试信息。-classpath:指定类路径,用于查找被引用的类文件。源文件:要编译的Java源代码文件的路径......
  • RocketMQ命令介绍及RocketMQ的可视化工具部署
    前言上篇文章我们介绍了RocketMQ集群的搭建,但是我们只能通过命令来查看集群情况。所以,这篇文章我们主要介绍RocketMQ的可视化平台。RocketMQ的可视化工具主要用于监控和管理RocketMQ集群,帮助我们更加直观地了解RocketMQ的运行状态和性能指标。mqadmin工具RocketMQ官方......