运行临时命令(RH294)

临时命令

使用临时命令可以快速执行单个Ansible任务,不需要将其保存下来再次运行

这是一种简单的在线操作,无需编写playbook就可以运行

使用临时命令通过模块来执行任务

模块的简单介绍

模块:临时命令用于完成任务的工具

Ansible提供了数百个能够完成不同任务的模块,便于完成所需的任务

模块的简单查询

ansible-doc -l 命令来列出系统上所有安装的模块

ansible-doc 模块名 来查看特定模块的文档——全英文教程

举个例子就是 ansible-doc ping

简单地举几个Ansible模块

模块的使用

通过-m选项调用模块

使用-a选项以带引号字符串形式取得参数,如果需要指定多个参数,使用引号括起的空格分隔列表形式

例子:使用user模块 确保存在newbie用户在servera.lab.example.com上且其uid为4000

ansible -m user -a "name=newbie uid=4000state=present" servera.lab.example.com

在受管主机上运行任意命令

command模块允许管理员在受管主机的命令行中运行任何命令

并且这些命令不经过主机上的shell处理

例子:ansiblemymanagedhosts -m command -a /usr/bin/hostname

这句代码的意思是在每个受管主机上都运行hostname命令

shell模块与command模块类似,区别是shell模块的命令会通过受管主机上的shell进行处理,因此可以访问shell环境变量,也可以使用重定向和传送等shell操作

shell模块:会交给主机上的shell处理

并且在使用command模块和shell模块使用set命令的时候

只有shell可以成功

raw模块:绕过子系统直接使用shell的命令

这几个可能会导致计算机报告状态不报告change

所以不推荐使用

配置临时命令的连接

在临时命令中添加选项,这些选项会优先于ansible文件中的配置

运行临时命令实验

开始 lab deploy-adhoc start(workstation)

1.确定devops账户的sudo配置

ssh devops@servera.lab.example.com

sudo cat /etc/sudoers.d/devops

exit

2.去往新目录查看ansible.cfg和inventory文件的内容

cd~/deploy-adhoc

cat ansible.cfg

3.执行ping模块确保所有主机可以使用

ansible all -m ping

4.去往workstation使用command模块 查看id

ansible localhost -m command -a "id"

5. 执行同样的命令但使用-u选项以devops账户进行

ansible localhost -m command -a "id" -u devops

6.使用copy模块 更改/etc/motd文件的内容

添加字符串“managed by ansible”使用devops账户执行命令

但不使用 --become切换到root用户

ansible localohost -m copy -a "content="manage byansible\" dest=/etc/mota" -u devops

当尝试运行的时候就会发现 因为权限不足并不能成功

7.使用特权升级再次执行上面的命令

ansible localohost -m copy-a "content="manage by ansible\" dest=/etc/mota" -udevops --become

这里通过使用root的权限成功

8.对所有受控主机都执行命令

ansible all -m copy -a"content="manage by ansible\" dest=/etc/mota" -udevops --become

9.通过command模块 执行临时命令 运行cat /etc/motd 验证内容已经修改成功

ansible all -m command -a "cat /etc/motd" -u devops

完成实验 lab deploy-adhoc finish

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值